ASP.NET更新数据库我的不能更新它也不报错

stringstr1="UPDATE顾客表SET客户姓名=@客户姓名,性别=@性别,联系电话=@联系电话,Email地址=@Email地址,邮政编码=@邮政编码,通讯地址... string str1 = "UPDATE 顾客表 SET 客户姓名 = @客户姓名, 性别 = @性别, 联系电话 = @联系电话, Email地址 = @Email地址, 邮政编码 = @邮政编码, 通讯地址= @通讯地址 where 客户ID=@客户ID";
SqlConnection conn = new SqlConnection(str);
conn.Open();
SqlCommand cmd = new SqlCommand(str1, conn);
cmd.Parameters.Add("@客户ID", SqlDbType.Char);
cmd.Parameters.Add("@客户姓名", SqlDbType.Char);
cmd.Parameters.Add("@性别", SqlDbType.Char);
cmd.Parameters.Add("@联系电话", SqlDbType.VarChar);
cmd.Parameters.Add("@Email地址", SqlDbType.VarChar);
cmd.Parameters.Add("@邮政编码", SqlDbType.Char);
cmd.Parameters.Add("@通讯地址", SqlDbType.VarChar);
cmd.Parameters["@客户ID"].Value = TextBox3.Text.Trim() ;
cmd.Parameters["@客户姓名"].Value = TextBox4.Text.Trim();
cmd.Parameters["@性别"].Value = RadioButtonList2.SelectedValue.ToString();
cmd.Parameters["@联系电话"].Value = TextBox11.Text.Trim();
cmd.Parameters["@Email地址"].Value = TextBox12.Text.Trim();
cmd.Parameters["@邮政编码"].Value = TextBox10.Text.Trim();
cmd.Parameters["@通讯地址"].Value = TextBox9.Text.Trim();
cmd.ExecuteNonQuery();
conn.Close();
不要跟我说什么代码太少,什么之类的话,我补充下里面的数据类型是匹配的,更新的时候不报错不也能更新,还有我在查调分析器里调试是成功的。
不使用参数,我试了下也不行。以前我用的sqldatasource的update方法也不能更新数据源,所以改了手写。
展开
 我来答
mr_shj
2009-11-13 · TA获得超过2682个赞
知道大有可为答主
回答量:1665
采纳率:94%
帮助的人:1382万
展开全部
1、保证你使用的数据库是sqlserver
2、试试不用参数传递是否能通过
3、保证你的表参数与你参数传递过程中的参数类型一致,包括表字段的长度。
sniper2003
2009-11-13 · TA获得超过1882个赞
知道小有建树答主
回答量:775
采纳率:100%
帮助的人:661万
展开全部
public void Insert(ProductNewInfo info)
{
SqlParameter[] parameters = {
new SqlParameter("@name", SqlDbType.VarChar,150),
new SqlParameter("@productType", SqlDbType.Int,4),
new SqlParameter("@shortIntroduction", SqlDbType.VarChar,200),
new SqlParameter("@imageSmall", SqlDbType.VarChar,200),
new SqlParameter("@imageBig", SqlDbType.VarChar,200),
new SqlParameter("@lastEditDateTime", SqlDbType.DateTime),
new SqlParameter("@tabIntroduction", SqlDbType.Text),
new SqlParameter("@tabHighLights", SqlDbType.Text),
new SqlParameter("@tabScreenShots", SqlDbType.Text),
new SqlParameter("@tabReportsManager", SqlDbType.Text),
new SqlParameter("@tabCompare", SqlDbType.Text),
new SqlParameter("@tabModelsAndPrices", SqlDbType.Text),
new SqlParameter("@isDel", SqlDbType.Int,4),
new SqlParameter("@topOrder", SqlDbType.Int,4),
new SqlParameter("@clickCount", SqlDbType.Int,4),
new SqlParameter("@price", SqlDbType.Money)};
parameters[0].Value = info.Name;
parameters[1].Value = info.ProductType.Id;
parameters[2].Value = info.ShortIntroduction;
parameters[3].Value = info.ImageSmall;
parameters[4].Value = info.ImageBig;
parameters[5].Value = info.LastEditDateTime;
parameters[6].Value = info.Introduction.ToString();
parameters[7].Value = info.HighLights.ToString();
parameters[8].Value = info.ScreenShots.ToString();
parameters[9].Value = info.ReportManager.ToString();
parameters[10].Value = info.Compare.ToString();
parameters[11].Value = info.ModelsAndPrices.ToString();
parameters[12].Value = info.IsDel;
parameters[13].Value = info.TopOrder;
parameters[14].Value = info.ClickCount;
parameters[15].Value = info.Price;

DbHelperSQL.ExecuteSql(_INSERT_SQL, parameters);
}

使用类似这样的方法去添加参数试试看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牵念烟0Z
2009-11-13 · TA获得超过207个赞
知道小有建树答主
回答量:313
采纳率:100%
帮助的人:338万
展开全部
你试试把创建及赋值Parameters参数的顺序改成跟sql语句中出现的顺序一样能不能解决问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小羊说编程
2009-11-15 · 专注编程模式教学,提升大家实战经验
小羊说编程
采纳数:406 获赞数:1394

向TA提问 私信TA
展开全部
ok 了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式