大众信息网

C#操作数据库问题

答案:6  mip版
解决时间 2021-01-08 23:51
  • 提问者网友:叫我女王
  • 2021-01-08 02:22
public static bool GetByUser(string uname, string upwd)
{
string sql = "select * from users where name=@name and pwd=@pwd";
OdbcParameter[] pa = new OdbcParameter[] {
new OdbcParameter ("@name",uname ),
new OdbcParameter ("@pwd",upwd),
};
OdbcDataReader re = DBHelper.getReader(pa, sql);
if (re.Read())
{
re.Close();
return true;
}
else
{
re.Close();
return false;
}
}
老是报错提示“必须声明变量@name,我的数据库连接时odbcConnection
最佳答案
  • 二级知识专家网友:這傷,你給的
  • 2021-01-08 03:27
存储过程可以这样给值参数,貌似直接执行sql语句不可以吧

既然是sql语句你可直接把内容拼进去就行了
参数是针对于存储过程来说的

比如你可以写成这样:
string sql=String.Format( "select * from users where name='{0}' and pwd='{1}'",uname,upwd);
然后直接执行这个sql不需要指定参数就行了

注意如果在数据库中name或者pwd是整型而不是字符串的时候把单引号去掉
全部回答
  • 1楼网友:抚弦思华年
  • 2021-01-08 07:50
参数类型呢。 OleDbParameter[] parameters = { new OleDbParameter("@name",OleDbType.LongVarWChar), new OleDbParameter("@pwd", OleDbType.LongVarWChar) parameters[0].Value = uname; parameters[1].Value = upwd; 希望对你有帮助。
  • 2楼网友:指间的落寞
  • 2021-01-08 06:51
你确定你写的代码和你贴出来的代码是一样的? 报这个错应该是你在实例化odbc参数的时候@name没加引号
  • 3楼网友:這傷,你給的
  • 2021-01-08 05:27
public static bool GetByUser(string uname, string upwd) { string sql = "select * from users where name=@name and pwd=@pwd"; OdbcParameter[] pa = new OdbcParameter[] { new OdbcParameter("@name",OdbcType.VarChar,50), new OdbcParameter("@pwd",OdbcType.VarChar,50), }; pa[0].Value=uname; pa[1].Value=upwd; OdbcDataReader re = DBHelper.getReader(pa, sql); if (re.Read()) { re.Close(); return true; } else { re.Close(); return false; } }
  • 4楼网友:是你的阿离
  • 2021-01-08 05:03
"select * from users where name=@name and pwd=@pwd" name是个关键字 在sql里不执行 select * from users where [name]=@name and pwd=@pwd 这样试一下,你的其他写法没有问题
  • 5楼网友:妳説啲訫動
  • 2021-01-08 03:40
1共用一个连接就可以 2其实一样可以用lock实现,把数据库操作写成一个函数,函数内加lock。c#会安排他们排队 比如 private static object privateobjectlock = new object(); public static xxoo() { lock(privateobjectlock) { //数据操作语句 } } } 你在一个函数里实现数据库操作。然后线程操作数据库都调用他
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯