采用C#在vs2010编写查询语句如何获取SQLserver2008中的数据,求具体编写代码,急!!

2024年11月02日 03:58
有1个网友回答
网友(1):

别着急,很简单,看下面:

private DataTable GetTable()
        {
            string connstring = "server=127.0.0.1\\SQLEXPRESS;database=数据库名;uid=用户名;pwd=密码";//连接串,连接你的数据库
            SqlConnection conn = new SqlConnection(connstring);
            string sql = "select * from Users";//查询SQL,根据你的表来写
            SqlCommand cmd = new SqlCommand(sql, conn);
            conn.Open();
            DataTable dt = new DataTable();
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            sda.Fill(dt);//执行查询并加载数据到DataTable中
            conn.Close();
            cmd.Dispose();
            return dt;
        }

然后,dataGridView1.DataSourse=dt;

就可以在窗体中显示数据了。

模糊查询的话,方法和这个一样,只是把SQL改一下,where条件中加上 like 即可。


如果要求代码的完美,需要在数据层写一个单独的获取表的方法,即:

/// 
        /// 将数据库表读取到内存DataTable中
        /// 

        /// 传入的sql字符串
        /// 内存DataTable表
        public static DataTable GetDataTable(string sql)
        {
            string connstring = "server=127.0.0.1\\SQLEXPRESS;database=数据库名;uid=用户名;pwd=密码";//连接串,连接你的数据库
            SqlConnection conn = new SqlConnection(connstring);
            SqlCommand cmd = new SqlCommand(sql, conn);
            conn.Open();
            SqlCommand cmd = Cmd(sql);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            conn.Close();
            cmd.Dispose();
            return dt;
        }

然后在业务层写一个调用的方法,传入SQL,即:

public static DataTable GetDataTableBLL()
{
  string sql="select * from table";
  DataTable dt = new DataTable();
  dt = GetDataTable(sql);
  return dt;
}

需要的数据不同,传入的SQL不同。