OleDbDataReader drd = cmd.ExecuteReader(CommandBehavior.CloseConnection);
执行到这时候出错,提示@username没有定义?string sqlStr = "select login_name,password from tb_Tuser where login_name=@username"; OleDbParameter[] parms = { new OleDbParameter("@username",admininfo.username)};这种方法是不是用的临时变量,完了到parms给变量一个值?
我感觉是,BCB是是这样用,到这不太会用了。
这个SQL语句中的@username用定义吗?
执行到这时候出错,提示@username没有定义?string sqlStr = "select login_name,password from tb_Tuser where login_name=@username"; OleDbParameter[] parms = { new OleDbParameter("@username",admininfo.username)};这种方法是不是用的临时变量,完了到parms给变量一个值?
我感觉是,BCB是是这样用,到这不太会用了。
这个SQL语句中的@username用定义吗?
也来玩C# 了?
OleDbParameter parm = new OleDbParameter(Name, Type, Direction, Size, Value);
/*
(实际上它有七重载大家具体大家可以在VS.net里面就可以看到)
参数
Name 可选,字符串,代表 Parameter 对象名称。
Type 可选,长整型值,指定 Parameter 对象数据类型。
Direction 可选,长整型值,指定 Parameter 对象类型。。
Size 可选,长整型值,指定参数值最大长度(以字符或字节数为单位)。
Value 可选,变体型,指定 Parameter 对象的值。
以下是实例,查询news表中所有tsing发表的新闻
-------------------------------------------------------
*/
sql="select * from newss where username=? order by id"
//注意查询的条件均用?号表示
OleDbConnection conn = new OleDbConnection(connString);
OleDbCommand cmd = new OleDbCommand(sql,conn);
OleDbParameter parm = new OleDbParameter("temp",OleDbType.VarChar, 50);
//temp为Parameter对象可随便定义,OleDbType.VarChar指定为字符串,长度50
parm.Direction = ParameterDirection.Input;
//指定其类型输入参数
cmd.Parameters.Add(parm);
cmd.Parameters["temp"].Value = "tsing";
//查询tsing,也可以写成cmd.Parameters[0]
conn.Open();
cmd.ExecuteReader();
你把代码变成这样看看
OleDbParameter[] parms = { new OleDbParameter("@username")};
parms[0].value=admininfo.username;