我是新来地 请大家帮帮我吧!!!

dqhhdong 2007-06-16 10:14:52
protected void LinkButton2_Click(object sender, EventArgs e)

string newsID = this.Label1.Text;
OleDbConnection myconn = DB.CreateConnection();
myconn.Open();
string sql = "delete from news where ID='" + newsID + "'";
OleDbCommand cmd = new OleDbCommand(sql, myconn);
cmd.ExecuteNonQuery();

当点击删除按钮执行这段程序时却提示“标准表达式中数据类型不匹配。”感觉好像是那个“newsID”和我的数据库里的ID类型不匹配,我试过很多方法都不好用,该如何解决?多谢!!!
...全文
142 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
igelf 2007-06-17
  • 打赏
  • 举报
回复
我怀疑表中没id这个字段
lili1985 2007-06-17
  • 打赏
  • 举报
回复
会不会你的 newsID 更本就没值
dqhhdong 2007-06-16
  • 打赏
  • 举报
回复
string newsID = this.Label1.Text;
OleDbConnection myconn = DB.CreateConnection();
myconn.Open();
string sql = "delete from news where ID="+newsID;
OleDbCommand cmd = new OleDbCommand(sql, myconn);
cmd.ExecuteNonQuery();
这是修改后的 “int newsID =Convert.toint32( this.Label1.Text);” 这个我也试过 ,提示它有问题
amandag 2007-06-16
  • 打赏
  • 举报
回复
贴你修改后的代码
youthkin 2007-06-16
  • 打赏
  • 举报
回复
或者你这样:
int newsID =Convert.toint32( this.Label1.Text);
再试试。
youthkin 2007-06-16
  • 打赏
  • 举报
回复
ID是什么类型的值?
dqhhdong 2007-06-16
  • 打赏
  • 举报
回复
不行啊 改完了又出现这个提示啊“语法错误 (操作符丢失) 在查询表达式 'ID=' 中”
amandag 2007-06-16
  • 打赏
  • 举报
回复
连接打开不关的?
dqhhdong 2007-06-16
  • 打赏
  • 举报
回复
谢谢 参数传递我正学着呢,我也是刚刚学的 慢慢来嘛
Snowdust 2007-06-16
  • 打赏
  • 举报
回复
ID应该是整型吧?把单引号去掉。
string sql = "delete from news where ID=" + newsID;
另外这段代码有很多问题,比如人家用你这段代码进行SQL注入攻击太容易了,最好改成参数传递的方法。

62,074

社区成员

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

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

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

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