• C#操作数据库


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    //操作SQL数据库必须引入此包
    using System.Data.SqlClient;
    //使用DataSet类必须引入此包
    using System.Data;
    namespace ConsoleApplication1
    {
        class Program
        {
            private string sqlConnectionCommand = "server=localhost;database=testDB;uid=sa;pwd=sa";//"server=localhost;database=testDB;integrated security=SSPI";//Windows验证方式
            private string sqlSelectTable = "select id,name from table1";
            private string sqlDelCommand = "Delete From table1 Where id = 1";
            private string sqlUpdateCommand = "update table1 set name = '99' Where id = 2";
    
    
    
            static void Main(string[] args)
            {
                Program p1 = new Program();
                p1.testDBsetFun();
            }
    
            public void doSqlSelect()
            {
                SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);
                //如果初始化构造函数不包含连接数据库信息,则可以用创建的对象的属性关联连接数据库信息
                //SqlConnection sqlConnection = new SqlConnection();
                //sqlConnection.ConnectionString = sqlConnectionCommand;
    
                SqlCommand sqlCommand = new SqlCommand(sqlSelectTable, sqlConnection);//建立一个接受SQL语句并可以执行返回结果的对象
                //如果初始化时没包含要执行的SQL语句和关联的数据库连接则可通过创建的对象的属性来关联
                //SqlCommand sqlCommand = new SqlCommand();//创建一个执行SQL语句类的对象
                //sqlCommand.Connection = sqlConnection;//关联连接数据库对象
                //sqlCommand.CommandText = sqlSelectTable1;//关联执行的SQL语句
    
                //在执行SQL语句前必须把连接打开
                sqlConnection.Open();
    
                //如果执行非查询语句(更新,插入等)用SqlCommand类ExecuteNonQuery();方法来执行,返回一个int型
                //sqlCommand.ExecuteNonQuery();
    
                //执行查询语句用SqlCommand类ExecuteReader();方法来执行。用SqlDataReader类对象接收执行的结果便于沥遍
                SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
    
                //开始循环沥遍
                while (sqlDataReader.Read())
                {
                    int id = (int)sqlDataReader["id"];//(int)sqlDataReader[0];//也可以根据查询结果列的序号0为第一列
                    string name = (string)sqlDataReader["name"];//(string)sqlDataReader["name"];
                    Console.WriteLine("ID = " + id + " , Name = " + name);
                }
                System.Console.WriteLine("Press any key to exit.");
                System.Console.ReadKey();
    
                sqlDataReader.Close();
                sqlCommand.Dispose();
                sqlConnection.Close();
            }
    
            void testDBsetFun()
            {
                SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);
                SqlCommand sqlCommand = new SqlCommand(sqlSelectTable, sqlConnection);
                SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();//建立对虚拟表进行操作的对象
                sqlDataAdapter.SelectCommand = sqlCommand;//把SqlDataAdapter关联一个拥有查询语句的sqlCommand对象
                sqlConnection.Open();
                DataSet dsDataSet = new DataSet();//创建虚拟表对象
                sqlDataAdapter.Fill(dsDataSet, "Customers");//用SqlDataAdapter对象把刚关联的查询结果赋到虚拟表中,并赋一个指定表名"Customers"(任意起)
                sqlCommand.Dispose();
                sqlConnection.Close();
    
                dsDataSet.Tables["Customers"].Rows[0].Delete();//指明要在指定虚拟表中删除的索引行,表名也可换成指定表储存在dsDataSet中的索引值
                dsDataSet.Tables["Customers"].AcceptChanges();//执行对指定虚拟表指定索引行删除的动作(提交执行自加载此 dsDataSet 或上次调用 AcceptChanges() 以来对其进行的所有更改。)
                sqlDataAdapter.Update(dsDataSet, "Customers");//调用Update方法,以dsDataSet中指定表的数据更新数据库对应表但是放在AcceptChanges()方法下则不执行
    
    
                int a1 = dsDataSet.Tables[0].Rows.Count;//取得指定虚拟表的总行数
                int a2 = dsDataSet.Tables["Customers"].Columns.Count;//取得指定虚拟表的总列数
                int a3 = dsDataSet.Tables.Count;//取得指定虚拟表的总列数
                string a4 = dsDataSet.Tables["Customers"].Columns[0].ToString();//取得指定虚拟表的索引为0列的列名(字段名)
                //取得指定虚拟表的指定索引行指定列的值
                string val = dsDataSet.Tables["Customers"].Rows[1]["name"].ToString();//也可通过虚拟表中该列的索引来取值//string b = dsDataSet.Tables["Customers"].Rows[1][1].ToString();
                Console.WriteLine("RowsCount = " + a1 + " , val = " + val);
                System.Console.WriteLine("Press any key to exit.");
                System.Console.ReadKey();
    
    
            }
    
        }
    }
  • 相关阅读:
    Python零基础入门的基础案例
    今天不抠图,Python实现一键换底片!想换什么换什么(附源码)
    python基础:如何使用 pip 安装第三方库
    Python教程:matplotlib 绘制双Y轴曲线图
    福利来啦,送给大家一个小游戏的源码,不要错过哟
    招聘信息太多,哪家职位才是适合你的?Python采集招聘信息
    我的python菜鸟之路1
    我的SAS菜鸟之路3
    我的SAS菜鸟之路2
    猪鹿蝶1
  • 原文地址:https://www.cnblogs.com/dreamhome/p/2493530.html
Copyright © 2020-2023  润新知