asp.net(C#) + mysql 的Sql语句参数问题

lendylixt 2007-11-05 03:14:20
举个简单例子:
有个表:tbUser(id int primary key not null,name varchar(20),age int)
查询的时候,如果单个条件查可以用"?"
如:select * from tbUser where name=?;
可以用
OdbcParameter para = new OdbcParameter("?", OdbcType.VarChar, 20);
如果是多个参数呢
如:select * from tbUser where id>para1 and age>para2;
我试了试用“@”好像不行

各位大虾是怎么实现的?
...全文
152 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lendylixt 2007-11-07
  • 打赏
  • 举报
回复
自己解决问题
只能用“?”,多个参数的时候也是用多个“?”
再逐一输入,已经成功
可能跟Mysql的版本有关系把
我的是VS2005 + MYsql5.1 + MySQL ODBC 3.51
谢谢各位
lendylixt 2007-11-06
  • 打赏
  • 举报
回复
string strSql = "select id from tbUser where Name=@Name";
DataSet Ds=new DataSet();
OdbcDataAdapter Oa = new OdbcDataAdapter();
OdbcConnection Oc = new OdbcConnection("DRIVER...........;");
Oa.SelectCommand = new OdbcCommand(strSql, Oc);
OdbcParameter para1=new OdbcParameter("@Name",OdbcType.VarChar,20);
para1.Value = strName;
Oa.SelectCommand.Parameters.Add(para1);
Oc.Open();
Oa.Fill(Ds);
Oc.Close();
this.Response.Write("<script>");
this.Response.Write("alert ('" + Ds.Tables[0].Rows.Count + "');");
this.Response.Write("</script>");
用“?”代替“@Name”就没问题,为什么啊?

自己UP
xiaomatian 2007-11-06
  • 打赏
  • 举报
回复
看看mysql connector的帮助就清楚了.
net_lhb 2007-11-06
  • 打赏
  • 举报
回复
不可以用"?问号的 要用 @
lendylixt 2007-11-06
  • 打赏
  • 举报
回复
大虾们都哪去了

失望
lendylixt 2007-11-06
  • 打赏
  • 举报
回复
谁能帮帮我啊~~~
lendylixt 2007-11-05
  • 打赏
  • 举报
回复
我试了试
将“?”改成“@Name”得到的结果就不一样
string strSql="select * from tbUser where Name=@Name";
参数输入:
OdbcParameter para=new OdbcParameter( "@Name ", OdbcType.VarChar, 20);
在相同的条件下,用“?”可以反回正确结果,而用“@Name”返回的结果为空
netnpc 2007-11-05
  • 打赏
  • 举报
回复
就是用@ 你写的有问题
自己在查一下资料 或着 把你写的发上来 帮你检查一下错误

62,046

社区成员

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

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

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

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