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[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断开式连接的核心,比较安全

(0)

相关推荐

  • C#操作数据库总结(vs2005+sql2005)

    开发工具:Microsoft Visual Studio 2005 数据库:Microsoft SQL Server 2005 说明:这里建立的数据库名为Demo,有一个学生表Student,为操作方便起见,我只添加两个字段:studentnum和studentname. 一.SQL语句: 复制代码 代码如下: --create database Demo use Demo create table Student ( studentnum char(14) primary key, stude

  • c#数据库与TXT导入导出的实例

    复制代码 代码如下: private void button1_Click(object sender, EventArgs e)              {                  if (openFileDialog1.ShowDialog() == DialogResult.OK)        {               using (FileStream fs = File.OpenRead(openFileDialog1.FileName))       {     

  • c# 获取数据库中所有表名称的方法

    1.sqldmo SQLDMO是操作SQLServer的理想的方式,如果您的数据库是SQLServer就可以考虑使用这种方式.在C#中使用SQLDMO需要添加SQLDMO的引用,然后在当前的文件中using SQLDMO;即可以使用SQLDMO.SQLDMO的对象模型大家可以在SQLServer的帮助中获得. 复制代码 代码如下: private void GetTabels_DMO(string strServerName,string strUser,string strPWD,string

  • 深入分析C#连接Oracle数据库的连接字符串详解

    两种方式:1.IP+SID方式 2.配置链接方式1..IP+SID方式 复制代码 代码如下: DbHelperOracle.connectionString = string.Format(@"Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA =(SID = {1})(SERVER = DEDICATED)));User Id={

  • C#连接db2数据库的实现方法

    通过OLE DB for DB2驱动 复制代码 代码如下: string strSql = @"select phone_no from no_store where id<5";            string strConn = "Provider=IBMDADB2;Data Source=数据库名;UID=用户名;PWD=密码;";            using (OleDbConnection conn = new OleDbConnectio

  • C#保存图片到数据库并读取显示图片的方法

    复制代码 代码如下: private void button2_Click_1(object sender, System.EventArgs e) { string pathName; if (this.openFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK) { pathName = this.openFileDialog1.FileName; System.Drawing.Image img = System.D

  • C#访问PostGreSQL数据库的方法

    我对PostGreSQL只是一知半解,记录这个过程是希望如果以后微软技术方向的人遇到类似的需求,可以有个比较直接的的参考.在不熟悉的知识领域里,总是有搜索引擎可以帮到我. 初步了解PostGreSQL数据库及数据形态 首先我想看看PostGreSQL的数据库以及我想要获取的数据形态是什么样子的,Linux和PostGreSQL这两个关键字我都不熟悉,搜了一下找到了一个可以连通PostGreSQL数据库的Windows客户端,叫pgAdmin,我装的是III版本,应该是比较新的,下载安装后看到界面

  • 浅析C# web访问mysql数据库-整理归纳总结

    基本对比 使用方式 使用场合 优缺点 是否需要安装 需要的dll网址 引用方式 程序内引用 程序初期确定使用MySql,前期添加引用 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置代码的类文件中 可以安装,也可以直接引用dll 多数情况下直接引用即可 Connector/Net 6.7.4 web.config引用 后期维护接口发现程序内需要使用,这时不方便更改原有程序引用 多数时候使用于没有后置代码的aspx.ashx等文件上 ODBC方式 配置系统内数据源 程序创建初期,

  • C#连接Oracle数据库的实例方法

    1.建立连接字符串,里面包含数据库名称.用户名和密码 2.建立操作字符串,里面是对数据操作的SQL语句 3.建立Connection,用连接字符串作为参数建立 4.建立Command,用操作字符串和Connection作为参数 5.建立DataAdapter,用Command作为参数 复制代码 代码如下: string cosn = "Data Source=172.20.65.236;User Id=bjmedicare_qy;Password=bjmedicare_qy";    

  • C#中使用SQLite数据库的方法介绍

    [SQLite管理工具简介] 推荐以下2款: Navicat for SQLite:功能非常强大,几乎包含了数据库管理工具的所有必需功能,操作简单,容易上手.唯一的缺点是不能打开由System.Data.SQLite.dll加密过的数据库. Database.Net:台湾人用.net开发的全能数据库管理工具,可以管理多种数据库,包括MSSQL.MYSQL.IBM DB2.Oracle.Access.Excel.OleDb.Odbc等十多种数据库(或数据接口),功能没有Navicat那么多,只包含

随机推荐