类似于这个:        /// 取得某行的某列的值
        /// 
        /// 列的名称
        /// 所属表名
        /// 表的主键
        /// 列所属的主键值
        /// 
        public string GetDataColum(string strColumnName, string strTableName, string strColumnkey, string strColumnValue)
        {            string strCommandText = "select " + strColumnName + "," + strColumnkey + " from " + strTableName;            OleDbConnection myConnection = new OleDbConnection(datalink.connectionstring);
            myConnection.Open();
            OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText, myConnection);
            OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater);
            DataSet myDataset = new DataSet();
            myAdpater.MissingSchemaAction = MissingSchemaAction.AddWithKey;            myAdpater.Fill(myDataset);
            myConnection.Close();            DataTable mytable = myDataset.Tables[0];
            DataRow mydr = mytable.Rows.Find(strColumnValue);
            string mydc = mydr[strColumnName].ToString();            return mydc;
        }但是这个不够方便,必须要获取的列是主键才行,谁能给个获取随意列的某一个行的这个单个值。

解决方案 »

  1.   

    参考这个SQL版的
            /// <summary>返回的结果集中第一行的第一列值</summary> 
            /// <param name="strSql">SQL语句</param> 
            /// <returns>运行正常返回数据值,查询无记录返回NULL值,运行出错返回不可知的数据</returns> 
            /// <res>执行查询,并返回查询所返回的结果集中第一行的第一列,数据类型为表中字段类型</res> 
            public object GetCmdScalar(string strSql)
            {
                SqlCommand cmd = new SqlCommand(strSql, SqlConn);
                object DBValue = null;
                try
                {
                    DBValue = cmd.ExecuteScalar();
                }
                catch (Exception ex)
                {
                    DBValue = null;
                }
                return DBValue;
            }
      

  2.   

       public static string connString ="server=.;database=数据库;uid=sql用户;pwd=密码";
            public static SqlConnection GetCon()
            {
                return new SqlConnection(connString);
            }
            public static object ExecuteSalca(string sql)
            {            try
                {
                    using (SqlConnection conn = Class1.GetCon())
                    {
                        SqlCommand comm = new SqlCommand(sql);
                        conn.Open();
                        return comm.ExecuteScalar();                }
                }
                catch (Exception ex) 
                {
                    throw new Exception(ex.ToString());
                }
            }        public static  int ExecuteNonQuery(string sql)
            {
                try
                {
                    using (SqlConnection conn = Class1.GetCon())
                    {
                        SqlCommand comm = new SqlCommand(sql);
                        conn.Open();
                        return comm.ExecuteNonQuery();
                    }
                }
                catch (Exception ex) 
                {
                    throw new Exception(ex.ToString());
                }        }        public static SqlDataReader ExecuteReader(string sql)
            {
                try
                {
                    SqlConnection conn = Class1.GetCon();
                    SqlCommand comm = new SqlCommand(sql);
                   return  comm.ExecuteReader(CommandBehavior.CloseConnection);
                }
                catch (Exception ex) 
                {
                    throw new Exception(ex.ToString());
                }
            }
              是要增删改查的么?