这是图书馆管理系统的读者管理,该代码段是为了实现读者的信息修改,在窗口中没有错,可是一运行修改读者信息就出错了,我找了半天也不知道哪错了,谁可以帮我找一下错
if (txtreaderID.Text.Trim() == "")
             {
                 MessageBox.Show("请输入借书证号!", "警告", 0);
                 return;
             }
             SqlConnection conn = new SqlConnection(sqlcon);
             string sqlstr = "update [TReader] set";
             if (txtname.Text.Trim().ToString() != "")
             {
                 sqlstr += "[Name]='" + txtname.Text.Trim() + "',";
             }
             if (txtspec.Text.Trim() != "")
             {
                 sqlstr += "[Spec]='" + txtspec.Text.Trim() + "',";
             }
             if (txtborn.Text.Trim() != "")
             {
                 sqlstr += "[Born]='" + txtborn.Text.Trim() + "',";
             }
             if (txtsex.Text.Trim() != "")
             {
                 sqlstr += "[Sex]='" + txtsex.Text.Trim() + "',";
             }
             if (txtphoto.Text.Trim() != "")
             {
                 sqlstr += "[Photo]= @Photo";                 
             }
             sqlstr += "where ReaderID='" + txtreaderID.Text.Trim() + "'";              
             SqlCommand cmd = new SqlCommand(sqlstr, conn);
             if (txtphoto.Text.Trim() != "")
             {
                 FileStream fs = null;
                 fs = new FileStream(txtphoto.Text.Trim(), FileMode.Open, FileAccess.Read);
                 MemoryStream mem = new MemoryStream();
                 byte[] data1 = new byte[fs.Length];
                 fs.Read(data1,0,(int)fs.Length);
                 cmd.Parameters.Add("@Photo", SqlDbType.Image);
                 cmd.Parameters["@Photo"].Value = data1;
             }
             try
             {
                 conn.Open();
                 int yxh = cmd.ExecuteNonQuery();
                 if (yxh == 1)
                 {
                     MessageBox.Show("修改成功!", "提示", 0);
                 }
                 else
                 {
                     MessageBox.Show("数据库中没有此读者!", "警告", 0);
                 }
                 this.tReaderTableAdapter.Fill(this.mBOOKDataSet.TReader);
             }
             catch (Exception ex)
             {
                 MessageBox.Show("出错,没有完成读者的修改!" + ex.Message, "提示", 0);
             }
             finally
             {
                 conn.Close();
             }
------解决方案--------------------
假如那些文本框中的信息都有,那
sqlstr += "[Name]='" + txtname.Text.Trim() + "',"; [Name]前面少空格;
sqlstr += "where ReaderID='" + txtreaderID.Text.Trim() + "'"; where 前面少空格,
假如 txtphoto.Text.Trim() != "" 判断不成立,还会多出逗号来。