C#数据库操作小结

 更新时间:2012年09月24日 20:14:11   作者:  
每次做项目都会用到数据库,对数据库的操作都是糊里糊涂从书里找代码用。通过昨天晚上与今天早上的努力,把数据库的操作整理了一下,下面把整理结果做个小结
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[0][0].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["name"] = "111";
                 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[0];
                 updateRow["id"] = "update";
                 updateRow["name"] = "222";
                 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[0].Delete(); //删除记录
                   SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
                   adapter.Update(dataTable); //更新到数据库
             }
            catch (SqlException ex)
            {
                   throw ex;
            }
      }

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

相关文章

  • Unity制作小地图和方向导航

    Unity制作小地图和方向导航

    这篇文章主要为大家详细介绍了Unity制作小地图和方向导航的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C#中static void Main(string[] args) 参数示例详解

    C#中static void Main(string[] args) 参数示例详解

    这篇文章主要介绍了C#中static void Main(string[] args) 参数详解,本文通过具体示例给大家介绍的非常详细,需要的朋友可以参考下
    2017-03-03
  • C#使用OpenCvSharp实现图像校正

    C#使用OpenCvSharp实现图像校正

    这篇文章主要为大家详细介绍了C#如何使用OpenCvSharp实现图像校正功能,文中的示例代码简洁易懂,具有一定的学习价值,需要的小伙伴可以参考下
    2023-11-11
  • C#实现单线程异步互斥锁的示例代码

    C#实现单线程异步互斥锁的示例代码

    异步互斥锁的作用是用于确保存在异步操作的上下文同步互斥,这篇文章主要为大家详细介绍了C#如何实现单线程异步互斥锁,文中的示例代码讲解详细,需要的可以参考下
    2024-01-01
  • C#窗体间通讯处理的几种方法总结

    C#窗体间通讯处理的几种方法总结

    这篇文章主要介绍了
    2013-11-11
  • C#中ListView用法实例

    C#中ListView用法实例

    我们经常会在应用程序中使用列表的形式来展现一些内容,所以学好ListView是非常必需的,下面这篇文章主要给大家介绍了关于C#中ListView用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法

    C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法

    这篇文章主要介绍了C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法,涉及C#遍历二叉树的相关技巧,需要的朋友可以参考下
    2015-04-04
  • C#获取真实IP地址实现方法

    C#获取真实IP地址实现方法

    这篇文章主要介绍了C#获取真实IP地址实现方法,对比了C#获取IP地址的常用方法并实例展示了C#获取真实IP地址的方法,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C#获取机器码的方法详解(机器名,CPU编号,硬盘编号,网卡mac等)

    C#获取机器码的方法详解(机器名,CPU编号,硬盘编号,网卡mac等)

    这篇文章主要介绍了C#获取机器码的方法,结合实例形式详细分析了C#获取硬件机器名、CPU编号、硬盘编号、网卡mac等信息的相关实现方法,需要的朋友可以参考下
    2016-07-07
  • Unity C#执行bat脚本的操作

    Unity C#执行bat脚本的操作

    这篇文章主要介绍了Unity C#执行bat脚本的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04

最新评论