winfroms把ListView记录添加到数据库报错..

wkacj3344 2008-07-24 09:42:28
con = new SqlConnection("server=.\\sqlexpress;database=test;uid=sa;pwd=reyoung");
con.Open();
string str = "insert into book(uid,uname,date1) value(@u_id,@u_name,@momey)"; SqlCommand cmd;
cmd = new SqlCommand(str, con);

foreach (ListViewItem item in listView1.Items)
{



cmd.Parameters.AddWithValue("@u_id", item.Text);
cmd.Parameters.AddWithValue("@u_name", item.SubItems[1].Text);
cmd.Parameters.AddWithValue("@momey", item.SubItems[2].Text);
cmd.ExecuteNonQuery();


cmd.Parameters.Clear();
}
报的错是未处理 System.Data.SqlClient.SqlException
Message="将截断字符串或二进制数据。\r\n语句已终止。"
...全文
48 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cenychen 2008-07-24
  • 打赏
  • 举报
回复
1 检测你代码中数据库参数的数据类型和长度是否与SQL2005中的字段类型相匹配
2 给你的SQL2005打补丁
wkacj3344 2008-07-24
  • 打赏
  • 举报
回复
谢谢...
非常感谢各位啊..
问题解决了 ..
我数据库字段设置过短了.......
whycom 2008-07-24
  • 打赏
  • 举报
回复
用nvarchar(长度) ,不要用char(固定长度)
wkacj3344 2008-07-24
  • 打赏
  • 举报
回复
还是不行啊...
各位大哥...快点帮我解决下啊....帮帮忙......
眼里进了砂 2008-07-24
  • 打赏
  • 举报
回复
输入的一个参数超过数据库里字段指定的长度了吧,检查下长度,或者做下substring再写库
yilunduyue 2008-07-24
  • 打赏
  • 举报
回复
加上:
cmd.Parameters.Add("@u_id","参数类型")
cmd.Parameters.Add("@u_name","参数类型")
cmd.Parameters.Add("@u_momey","参数类型")

110,537

社区成员

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

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

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