str = Sfzbm.Substring(0, 6);
            aa = int.Parse(str);
            SqlCommand CMD = new  SqlCommand("Select DQ From sfz" , conn);
            CMD.Parameters.Add(aa);
            conn.Open();

解决方案 »

  1.   

    我用的ORACLE,你改成SQL的
    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语句。
      

  2.   

    SqlCommand CMD = new  SqlCommand("Select DQ From sfz" , conn);
                你这个需要参数吗?
      

  3.   

    多谢
    canserly(1个好汉3个裤衩) ( 搞好了
      

  4.   

    str = Sfzbm.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();
    return myReader.GetString(0); conn.Close();我是这样写的
    正常情况下是可以运行了但是,如果当没有查询到记录的时候,将会出错请问大蛱们,是如何解决是好呀?
      

  5.   

    SqlDataReader myReader = CMD.ExecuteReader();
    myReader.Read();
    return myReader.GetString(0); 
    先检测有没有读到记录,你这样直接赋值肯定错的。就像用ado时,不检测rs是否eof就操作一样。
    if(myReader.Read())
    {return .....}
      

  6.   

    str = Sfzbm.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();
    //以下两句的的写法有问题,都已经返回了,后面的关闭操作不会再执行
    //先检查一下myReader.GetString(0); 的结果再返回吧
    return myReader.GetString(0); conn.Close();
      

  7.   

    记得在ADO里面好有一个RowCount 样的 属性可以检查不知道。NET里面是怎么检查的
      

  8.   

    多谢各位在MSDN 上找到一个属性判断
    我改成如下就可以了                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 "";