积极答复者
SqlDataSource 添加数据出错

问题
-
添加数据时出错: sd.Insert()附近有语法错误。'E60A2E00C90D7E00D5069188DC115B' 附近有语法错误。'E60A2E00C90D7E00D5069188DC115B' 是UserName MD5加密后的自己添加断点调试,数据和数据类型都是对的 找了半天没找了来错
protected void BtnOK_Click(object sender, EventArgs e) { string UserName = FormsAuthentication.HashPasswordForStoringInConfigFile(txtName.Text,"md5"); string UserPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPwd.Text, "md5"); bool UserPermission = RBList.SelectedItem.Selected; SqlDataSource sd = new SqlDataSource(); sd.ConnectionString = ConfigurationManager.ConnectionStrings["xgl_eshop"].ConnectionString; sd.InsertCommand = "insert into admin_xgl(xgl_user_Name,xgl_user_Pwd,xgl_usr_Permission) values("+UserName+","+UserPwd+","+UserPermission+") "; sd.Insert(); }
- 已移动 Sheng Jiang 蒋晟Moderator 2009年6月3日 16:12 数据库开发 ([Loc]From:ASP.NET 与 AJAX)
答案
-
你好 是你的sql语句的错误,如果是varchar的话 那么在插入的时候需要添加 'varchar类型的数据'
sd.InsertCommand = "insert into admin_xgl(xgl_user_Name,xgl_user_Pwd,xgl_usr_Permission) values('"+UserName+"',‘"+UserPwd+"’,"+UserPermission+") ";
sd.Insert();
如果你的UserPermission也是varchar的话 那么也得修改为 '"+UserPermission+"'
建议用参数化查询 这样可以避免varchar中的"等截断sql而导致一些错误
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlparameter(VS.80).aspx
努力着就不会放弃!.net技术交流群 33083877http://hi.baidu.com/1987raymond- 已标记为答案 斌斌NO1 2009年6月4日 2:50
全部回复
-
你好 是你的sql语句的错误,如果是varchar的话 那么在插入的时候需要添加 'varchar类型的数据'
sd.InsertCommand = "insert into admin_xgl(xgl_user_Name,xgl_user_Pwd,xgl_usr_Permission) values('"+UserName+"',‘"+UserPwd+"’,"+UserPermission+") ";
sd.Insert();
如果你的UserPermission也是varchar的话 那么也得修改为 '"+UserPermission+"'
建议用参数化查询 这样可以避免varchar中的"等截断sql而导致一些错误
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlparameter(VS.80).aspx
努力着就不会放弃!.net技术交流群 33083877http://hi.baidu.com/1987raymond- 已标记为答案 斌斌NO1 2009年6月4日 2:50
-
sd.InsertCommand = "insert into admin_xgl(xgl_user_Name,xgl_user_Pwd,xgl_usr_Permission) values('"+UserName+"','"+UserPwd+"','"+UserPermission+"') ";
字符类型要用单引号括起来
http://feiyun0112.cnblogs.com/