这是图书馆管理系统的读者管理,该代码段是为了实现读者的信息修改,在窗口中没有错,可是一运行修改读者信息就出错了,我找了半天也不知道哪错了,谁可以帮我找一下错

cyjjxn 2012-05-29 08:56:53
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();
}
...全文
139 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
__天涯寻梦 2012-05-29
  • 打赏
  • 举报
回复
假如那些文本框中的信息都有,那
sqlstr += "[Name]='" + txtname.Text.Trim() + "',"; [Name]前面少空格;
sqlstr += "where ReaderID='" + txtreaderID.Text.Trim() + "'"; where 前面少空格,
假如 txtphoto.Text.Trim() != "" 判断不成立,还会多出逗号来。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧