str = Sfzbm.Substring(0, 6);
aa = int.Parse(str);
SqlCommand CMD = new SqlCommand("Select DQ From sfz" , conn);
CMD.Parameters.Add(aa);
conn.Open();
aa = int.Parse(str);
SqlCommand CMD = new SqlCommand("Select DQ From sfz" , conn);
CMD.Parameters.Add(aa);
conn.Open();
OracleParameter[] para = new OracleParameter[2];
//设置参数
para[0] = new OracleParameter(":DD",OracleType.DateTime,SystemVariable.Parm_DateTime);
para[0].Value = DtStart; para[1] = new OracleParameter(":DD2",OracleType.DateTime,SystemVariable.Parm_DateTime);
para[1].Value = DateTime.Parse(DtEnd.ToShortDateString() + " 23:59:59");
//执行SQL语句。
你这个需要参数吗?
canserly(1个好汉3个裤衩) ( 搞好了
aa = int.Parse(str);
SqlCommand CMD = new SqlCommand("Select DQ From sfz Where BM = @aa" , conn);
SqlParameter myParm = CMD.Parameters.Add("aa",SqlDbType.Int);
myParm.Value = aa;
conn.Open();
SqlDataReader myReader = CMD.ExecuteReader();
myReader.Read();
return myReader.GetString(0); conn.Close();我是这样写的
正常情况下是可以运行了但是,如果当没有查询到记录的时候,将会出错请问大蛱们,是如何解决是好呀?
myReader.Read();
return myReader.GetString(0);
先检测有没有读到记录,你这样直接赋值肯定错的。就像用ado时,不检测rs是否eof就操作一样。
if(myReader.Read())
{return .....}
aa = int.Parse(str);
SqlCommand CMD = new SqlCommand("Select DQ From sfz Where BM = @aa" , conn);
SqlParameter myParm = CMD.Parameters.Add("aa",SqlDbType.Int);
myParm.Value = aa;
conn.Open();
SqlDataReader myReader = CMD.ExecuteReader();
myReader.Read();
//以下两句的的写法有问题,都已经返回了,后面的关闭操作不会再执行
//先检查一下myReader.GetString(0); 的结果再返回吧
return myReader.GetString(0); conn.Close();
我改成如下就可以了 str = Number.Substring(0, 6);
aa = int.Parse(str);
SqlCommand CMD = new SqlCommand("Select DQ From sfz Where BM = @aa", conn);
SqlParameter myParm = CMD.Parameters.Add("aa", SqlDbType.Int);
myParm.Value = aa;
conn.Open();
SqlDataReader myReader = CMD.ExecuteReader();
myReader.Read();
if (myReader.HasRows)
return myReader.GetString(0);
else
return "";