public bool selectData(string table, params string[] args)
        {
            ConnectDB();
            StringBuilder param = new StringBuilder();
            string[] array = new string[args.Length];            try
            {
                for (int i = 0; i < args.Length; i++)
                {
                    if (0 == i)
                    {
                        param.Append("@args" + Convert.ToString(i));
                    }
                    else if (0 < i)
                    {
                        param.Append(",");
                        param.Append("@args" + Convert.ToString(i));
                    }
                    array[i] = "@args" + Convert.ToString(i);
                    eatCmd.Parameters.Add(array[i], SqlDbType.NVarChar).Value = args[i];
                }
                eatCmd.CommandText = "select " + param + " from " + table;
                eatCmd.Connection.Open();
                SqlDataReader myReader = eatCmd.ExecuteReader();
                while (myReader.Read())
                {
                    MessageBox.Show(myReader.GetString(0));
                }
                return true;
            }
            catch (Exception e_slt)
            {
                GetErrorMessage(e_slt);
                return false;
            }
            finally
            {
                eatConn.Close();
            } 
        }完整代码 如上 为什么这句
myReader.GetString(0);取回的不是 字段值 而是 字段名啊 ?

解决方案 »

  1.   

    不会吧,有这怪事?
    GetName(0)才是字段值。
      

  2.   

    我用GetName(0) 调试 取回来的是空 我现在头大了 
      

  3.   

    什么情况啊。myReader.GetString(0);第一个字段的值啊,是不是你的值和字段名相同哦
      

  4.   

    eatCmd.CommandText = "select Sum(CONVERT(float," + f + "))" + " from " + t + " where " + a + " <> 0";
                    eatCmd.Connection.Open();
                    SqlDataReader myReader = eatCmd.ExecuteReader();
                    myReader.Read();
                    sum = myReader.GetDouble(0);
                    myReader.Close();
                    return true;同样 这段代码 就没有问题 我晕死啊 
      

  5.   

    表结构 如下 Name    Pass     Position
    Admin   111111   admin
    admin   123456   admin
      

  6.   

    dalmeeme
     myReader[0].ToString();我之前都试过了 也是 返回 我传入的字段名 “Name”
      

  7.   

    sql语句中的表名字正确不,不会取的是系统表?
      

  8.   

    我已经验证过了 是从SQL Management 中 拷贝出来的 我自己写的 
    SQL语句能通过 
      

  9.   

    select @args0 from SZGL_User
    调试 中的 SQL语句 表名称 没有错
      

  10.   

    @args 查看 Value 是 “Name” 也是我传入的 参数 没错