转载C#操作数据库小结

时间:2023-03-09 04:42:31
转载C#操作数据库小结

1、常用的T-Sql语句
      查询:SELECT * FROM tb_test WHERE ID='1' AND name='xia'
                SELECT * FROM tb_test
      插入:INSERT INTO tb_test VALUES('xia','123')
                  INSERT INTO tb_test(name) VALUES('xia') 
      更新:UPDATE tb_test SET password='234' WHERE ID='1' 
      删除:DELETE FROM tb_test WHERE ID='1'
                 DELETE tb_test WHERE ID='1'
2、在vs2010中获取数据库连接字符串
      string connectionString = Properties.Settings.Default.DatabaseTestConnectionString;
3、SqlCommand类型 
       查询:

      代码如下:
 using (SqlConnection connection = new SqlConnection(connectionString))
        {
              try
              {
                     SqlCommand command = new SqlCommand(selectStr, connection);
                     command.Connection.Open();
                     SqlDataReader reader = command.ExecuteReader();
                      while (reader.Read())
                              label1.Text = "name:" + reader["name"].ToString();    //数据读取
                      command.Connection.Close();
                }
               catch (SqlException ex)
               {
                     throw ex;
               }
        }

插入、修改、删除:

       代码如下:
 using (SqlConnection connection = new SqlConnection(connectionString))
        {
              try
              {
                     SqlCommand command = new SqlCommand(cmdStr, connection);
                     command.Connection.Open();
                     command.ExecuteNonQuery();
                     command.Connection.Close();
               }
               catch (SqlException ex)
               {
                     throw ex;
               }
       }

4、DataTable类型,查询、添加、修改、删除
      DataTable使用查询、添加、删除、修改时,需要用到SqlDataAdapter类
      string selectStr = "SELECT * FROM tb_test2";
      查询:
      代码如下:

 using (SqlConnection connection = new SqlConnection(connectionString))
       {
              try
              {
                     SqlDataAdapter adapter = new SqlDataAdapter(selectStr, connection);
                     DataTable dataTable = new DataTable();
                     adapter.Fill(dataTable);
                     //数据读取
                     label1.Text = dataTable.Rows[][].ToString();
               }
              catch (SqlException ex)
              {
                      throw ex;
               }
       }

添加:
      代码如下:

 using (SqlConnection connection = new SqlConnection(connectionString))
       {
            try
            {
                  SqlDataAdapter adapter = new SqlDataAdapter(selectStr, connection);
                  DataTable dataTable = new DataTable();
                  adapter.Fill(dataTable);
                   //添加数据
                  DataRow newRow = dataTable.NewRow();
                  newRow["id"] = "tesr";
                  newRow[";
                  dataTable.Rows.Add(newRow);
                  SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
                  adapter.Update(dataTable); //更新到数据库
             }
             catch (SqlException ex)
             {
                  throw ex;
             }
       }

修改:
       代码如下:

 using (SqlConnection connection = new SqlConnection(connectionString))
       {
             try
             {
                   SqlDataAdapter adapter = new SqlDataAdapter(selectStr, connection);
                   DataTable dataTable = new DataTable();
                   adapter.Fill(dataTable);
                   //修改数据
                  DataRow updateRow = dataTable.Rows[];
                  updateRow["id"] = "update";
                  updateRow[";
                  SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
                  adapter.Update(dataTable); //更新到数据库
             }
            catch (SqlException ex)
            {
                  throw ex;
            }
       }

删除:
     代码如下:

 using (SqlConnection connection = new SqlConnection(connectionString))
       {
             try
             {
                    SqlDataAdapter adapter = new SqlDataAdapter(selectStr, connection);
                    DataTable dataTable = new DataTable();
                    adapter.Fill(dataTable);
                    dataTable.Rows[].Delete(); //删除记录
                    SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
                    adapter.Update(dataTable); //更新到数据库
              }
             catch (SqlException ex)
             {
                    throw ex;
             }
       }

5、DataSet类型
      DataSet操作跟DataTabel操作基本是一样的,只是DataSet可以储存有多个表格,所以就多做介绍了
6、个人总结
      个人感觉,用 SqlCommand比较灵活,而DataSet是实现ADO.NET断开式连接的核心,比较安全