asp.net + oracle 查找数据
来源:百度知道 编辑:UC知道 时间:2024/05/17 23:54:55
string strsql = "select * from t_bas_user where usercode = :id";
OleDbCommand cm = new OleDbCommand(strsql, conn);
//cm.Parameters.Add(new OleDbParameter("@id", OleDbType.VarChar, 50));
//cm.Parameters["@id"].Value = Tbx_userid.Text;
OleDbParameter param = new OleDbParameter();
param.ParameterName = "id";
param.Value = Tbx_userid.Text;
cm.Parameters.Add(param);
conn.Open();
OleDbDataReader dr=cm.ExecuteReader();
Dgd_userinformation.DataSource=dr;
Dgd_userinformation.DataBind();
conn.Close();
异常详细信息: System.Data.OleDb.OleDbException: ORA-01008: 并非所有变量都已绑定
请问是什么原因?
OleDbCommand cm = new OleDbCommand(strsql, conn);
//cm.Parameters.Add(new OleDbParameter("@id", OleDbType.VarChar, 50));
//cm.Parameters["@id"].Value = Tbx_userid.Text;
OleDbParameter param = new OleDbParameter();
param.ParameterName = "id";
param.Value = Tbx_userid.Text;
cm.Parameters.Add(param);
conn.Open();
OleDbDataReader dr=cm.ExecuteReader();
Dgd_userinformation.DataSource=dr;
Dgd_userinformation.DataBind();
conn.Close();
异常详细信息: System.Data.OleDb.OleDbException: ORA-01008: 并非所有变量都已绑定
请问是什么原因?
string strsql = "select * from t_bas_user where usercode = :id";
看上去,你是想传一个值给"usercode",不知道你为什么要用"OleDbParameter"
完全可以把值直接连接到sql语句里:
string strsql = "select * from t_bas_user where usercode ='" & Tbx_userid.Text & "'";
这样就可以!
OleDbParameter:一般在要调用有参数的存储过程才使用。
看你的代码是一个很简单的数据连接抽出过程,看下msdn吧。
conn.Open();
string strsql = "select * from t_bas_user where usercode = '" + Tbx_userid.Text + "'";
OleDbCommand cm = new OleDbCommand(strsql, conn);
OleDbDataReader dr=cm.ExecuteReader();
Dgd_userinformation.DataSource=dr;
Dgd_userinformation.DataBind();
conn.Close();
sedfsderg