错误 CS0029: 无法将类型“int”隐式转换为“System.Data.OleDb.OleDbDataReader

ft284800 2008-08-26 11:25:48
string name = Request.Form["ccc"];
string id=Request.Form["id"];
string path = ConfigurationManager.AppSettings["path"];
string provider = ConfigurationManager.ConnectionStrings["provider"].ConnectionString;
OleDbConnection Connection = new OleDbConnection(provider + Server.MapPath(path));
Connection.Open();
string sql = "update essay set content = "+name+" where id ="+id;
OleDbCommand cmd = new OleDbCommand(sql, Connection);
OleDbDataReader objDataReader=cmd.ExecuteNonQuery();


以上是代码,好像没什么问题,网上教程都这么写的,有人说最后句可以直接cmd.ExecuteNonQuery();式了也不行,会变成说是UPDATE语法错误。请指教。
...全文
374 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijin84100 2008-08-26
  • 打赏
  • 举报
回复
string sql = "update essay set content = '"+name+"' where id ="+id;
haonanzhao 2008-08-26
  • 打赏
  • 举报
回复
string sql = "update essay set content = "+name+" where id ="+id;
修改为
string sql = "update essay set content = '"+name+"' where id ="+id;
winner2050 2008-08-26
  • 打赏
  • 举报
回复
string sql = "update essay set content = '"+name+"' where id ="+id;
winner2050 2008-08-26
  • 打赏
  • 举报
回复
string sql = "update essay set content = "+name+" where id ="+id;
==================================
一看就知道错误.

content 看字面意思就知道是文本型
应该string sql = "update essay set content = '"+name+"' where id ="+id;
jiang_jiajia10 2008-08-26
  • 打赏
  • 举报
回复
OleDbDataReader objDataReader=cmd.ExecuteNonQuery();
这句有问题吧
int i=cmd.ExecuteNonQuery();
然后判断
if(i>0)
{
成功
}else
{
失败
}
jack20080808 2008-08-26
  • 打赏
  • 举报
回复
想不通你的update语句还用OleDbDataReader去接干嘛
redria 2008-08-26
  • 打赏
  • 举报
回复
UPDATE语法错误是你的sql文写得有问题,和C#无关
redria 2008-08-26
  • 打赏
  • 举报
回复
你都ExecuteNonQuery,返回的是int,干啥用Reader去接?

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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