执行完oleDbCommand1.ExecuteReader()后

molester 2002-07-01 03:17:55
如何把找到的记录读出来?如果没有找到合适的记录,通过什么可以判断出它是空的呢?
...全文
73 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbxtx 2002-07-01
  • 打赏
  • 举报
回复
同意bearbaba的。条件里的字符要用单引号
bearbaba 2002-07-01
  • 打赏
  • 举报
回复
molester() 说的是webform的处理方法,在winForm中可以使用如下方法
.....
myCommand.CommandText = "SELECT CountryID FROM TableCountry WHERE CountryName = '"+textBox1.Text+"'";
myConnection.Open();
SqlDataReader myReader = myCommand.ExecuteReader();
// 申请String变量,以获取国家代码
int iNationalCode = 0;
//myReader = myCommand.ExecuteReader();
myReader.Read();

// 获取符合条件记录的第0个字段的字段值
iNationalCode = (int)myReader.GetSqlInt32(0);

myConnection.Close();
....


如果紧紧试向取得是否有这条记录存在可以使用如下的办法 :
....
myConnection.Open();
// 获取返回值,并转换成int型
iRecieveExist = (int)myCommand.ExecuteScalar();
// 如果iReceieveExist的值为0,说明此国家不存在,执行插入操作
....
molester 2002-07-01
  • 打赏
  • 举报
回复
string sqql="select name,password from infor where name=\"" + TextBox1.Text + "\" and password=\"" + TextBox2.Text + "\"";




OleDbCommand com=new OleDbCommand(sqql,OleDbConnection) ;

OleDbConnection.Open();
OleDbDataReader myReader;;
myReader = com.ExecuteReader();


if (myReader.Read())
{

Session["name"]=TextBox1.Text;
Session["password"]=TextBox2.Text;
Server.Transfer("WebForm2.aspx");
}
hbxtx 2002-07-01
  • 打赏
  • 举报
回复
估计是你的查询条件有问题,把代码贴出来看看.
triout 2002-07-01
  • 打赏
  • 举报
回复
那是你的SQL语句的问题了。
SqlDataReader sr;
string select=查询条件;//
SqlCommand sc=new SqlCommand(select,sqlConnection1);
sr=sc.ExecuteReader();
while(sr.Read())
{
//对数据进行处理。
}
molester 2002-07-01
  • 打赏
  • 举报
回复
运行后提示“标准表达式中数据类型不匹配。”
指示出问题的行是 “sr=sc.ExecuteReader();
”,请问是什么原因,如何解决?
hbxtx 2002-07-01
  • 打赏
  • 举报
回复
SqlDataReader sr;
string select=查询条件;//
SqlCommand sc=new SqlCommand(select,sqlConnection1);
sr=sc.ExecuteReader();
if(sr.Read())
{
//找到
}
else
{
//没找到
}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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