C# SQL SEVER数据库查询

来源:互联网 发布:青岛鹏海软件 编辑:程序博客网 时间:2024/04/29 16:53
//数据库查询调用方法,将返回的查询结果转换成一个二维数组        public static string[,] getData(string sql, string[,] parms)        {            SqlConnection conn = new SqlConnection();            conn.ConnectionString = "Data Source=*\\SQLEXPRESS;"                + "Initial Catalog=Study;Integrated Security=true";            conn.Open();            SqlCommand cmd = new SqlCommand();            cmd.Connection = conn;            cmd.CommandType = CommandType.Text;            cmd.CommandText = sql;            if (parms != null && parms.GetLength(0) > 0)            {                SqlParameter[] paramaters = new SqlParameter[parms.GetLength(0)];                for (int i = 0; i < parms.GetLength(0); i++)                {                    paramaters[i] = new SqlParameter(parms[i, 0], parms[i, 1]);                }                cmd.Parameters.AddRange(paramaters);            }            DataSet shuju = new DataSet();            SqlDataAdapter adt = new SqlDataAdapter();            adt.SelectCommand = cmd;            adt.Fill(shuju, "userInfo");            conn.Close();            cmd.Parameters.Clear();            cmd.Dispose();            int rowsCount = shuju.Tables["userInfo"].Rows.Count;            string[,] result;            if (rowsCount == 0)            {                return null;            }            else            {                int columnCount = shuju.Tables["userInfo"].Columns.Count;                //任何非null的数据类型赋给null类型结果都为null                result = new string[rowsCount, columnCount];                for (int i = 0; i < rowsCount; i++)                {                    for (int j = 0; j < columnCount; j++)                    {                        result[i, j] = shuju.Tables["userInfo"].Rows[i][j].ToString();                    }                }                return result;            }        }

我们可以这样理解这段代码。我是一个老板,需要员工到仓库拿材料。但我有很多仓库,所以我需要SqlConnection类型的员工告诉他你要到哪个仓库以何种方式证明自己的员工身份。但我要如何告诉他去仓库拿什么呢?我可以写纸条,发短信或者email,这里我选择写纸条cmd.CommandType = CommandType.Text,以string类型的数据库查询语句sql告诉员工你需要到仓库里取何种商品。

但我作为老板不可能直接告诉他你去取什么型号的商品,我会说你去取某个顾客指定要的那种型号,于是便出现了string类型的二维数组parms。取的货可能会很多,我派一个DataSet类型的变量作为员工的货车,当他取货结束后拉上车并贴上标签”userInfo“。最后员工回交给我取货单并交回货车。拉完货以后就是讲数据集中的数据赋值给一个二维数组,至此数据库查询ok了。


原创粉丝点击