设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
vs.net的通过datagride控件更新SQL里的数据是不是SQL里 ...
返回列表
发新帖
vs.net的通过datagride控件更新SQL里的数据是不是SQL里德字段不能用汉字啊
[复制链接]
11
|
3
|
2010-7-19 09:54:45
|
显示全部楼层
|
阅读模式
我把Sql字段改成了汉字就更新不成功!换成字母就可以,但是我想让显示的是汉字。我的后台更新部分代码如下:
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
SqlConnection myconnection=new SqlConnection("server=PC-201004011603;uid=sa;pwd=;database=test");
string updatestr = "";
updatestr+="name='"+((TextBox)e.Item.Cells[1].Controls[0]).Text+"'";//其中((TextBox)e.Item.Cells[2].Controls[0])为取得当前行的第3个单元格也就是文本框了。把它的内容赋给字段
updatestr += ",age='" + ((TextBox)e.Item.Cells[2].Controls[0]).Text + "'";
string updatecomm = "update info set " + updatestr + "where name='" + DataGrid1.DataKeys[e.Item.ItemIndex] + "'";
SqlCommand myupdate = new SqlCommand(updatecomm, myconnection);
try
{
myconnection.Open();
myupdate.ExecuteNonQuery();
Response.Write("");
this.BindGrid();
}
catch
{
Response.Write("");
}
finally
{
myconnection.Close();
}
DataBind();
}
我把name,age都改成汉字(当然数据库里的字段也该了),则就更新不成功,我调试了一下应该是更新后写不到数据库里,因为只执行到try语句myupdate.ExecuteNonQuery();然后就执行catch了。
高手指点,如果不方便回答,加我QQ:447665355我基本每天9:00-11:4014:30-22:00在线。谢谢啦!
回复
使用道具
举报
千问
|
2010-7-19 09:54:45
|
显示全部楼层
你为什么不直接有Catch捕获异常呢?这们至少可以知道你的错是的一个方向,然后修改,就简单的多了。至于你说的修改成汉字就不能更新,这个应该不会发生,很有可能是你数据库字符串的长度不够,一个汉字占有两个字节,你再仔细看看,有问题可以直接HI我
回复
使用道具
举报
千问
|
2010-7-19 09:54:45
|
显示全部楼层
string updatecomm = "update info set " + updatestr + "where name='" + DataGrid1.DataKeys[e.Item.ItemIndex] + "'";SQL语句有问题,update table_name set field = values如果 updatestr 是值的
回复
使用道具
举报
千问
|
2010-7-19 09:54:45
|
显示全部楼层
如果是sql server 把字段用中括号[] 扩起来
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行