注册 登录
编程论坛 ASP.NET技术论坛

OleDbCommand.Paramters

zerocn 发布于 2007-07-20 17:19, 743 次点击

protected void Button_Click(object sender, EventArgs e)
{
if (((Button)sender).ID == "reset")
{ TextBox1.Text = ""; }
else
{
Submit();
}

}

protected void Submit()
{
OleDbCommand OleCmd;
OleDbConnection conn;
string strCommand;


conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=f:\\Data\\image.mdb");
strCommand = "Select UserEmain From Dv_User Where UserName=@txtUserName";
OleCmd = new OleDbCommand(strCommand,conn);
OleCmd.Parameters.Add("@txtUserName", TextBox1.Text);
conn.Open();

object resoult = OleCmd.ExecuteScalar();
if (resoult == null)
{
TextBox2.Text = "Not Found!";
}
else
{
TextBox2.Text= resoult.ToString();
}

}


运行的时候说 至少一个参数没有被指定值。 ,我想是@txtUserName没有被赋值,
但是不明白哪里错了
6 回复
#2
Kendy1234562007-07-20 17:36
不用 parameter试试呢?
strCommand = "Select UserEmain From Dv_User Where UserName = '" & TextBox1.Text & "'";
#3
zerocn2007-07-20 20:51
以下是引用Kendy123456在2007-7-20 17:36:35的发言:
不用 parameter试试呢?
strCommand = "Select UserEmain From Dv_User Where UserName = '" & TextBox1.Text & "'";

真的不好意思,SQL语句打错了UserEmain改为UserEmail

那么,问另个问题,我使用OleDbDataReader.Read()方法的查询表中的某一列数据时,不能完全读取那一列的数据

那一列数据共有74条记录,我用while循环来输出
while(OleRead.Read())
{
Response.Write("<li>");
Response.Write(OleRead["UserName"]);
}

结果只输出了第19~70条数据。

请问这是什么愿意呢?

#4
bygg2007-07-21 16:13
你参数(@txtUserName)都没定义,你怎么用呢??得先用Parameters把@txtUserName定义出来,再给它赋值
#5
枯牛2007-07-24 09:21
斑竹真细心
#6
jyoseyi2007-07-24 17:59
小心鸡鸡被顶坏了
#7
606liutong2007-07-24 18:56
支持上楼的说法

嘎嘎 枯牛现在还在武汉混么 ?还是回郑州来吧,也好为家乡做点贡献
1