六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 227|回复: 0

C#中数据库操作【转载】

[复制链接]

升级  24%

24

主题

24

主题

24

主题

秀才

Rank: 2

积分
86
 楼主| 发表于 2013-1-4 01:25:57 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body"><div class="cnblogs_code">转自:http://www.cnblogs.com/dreamhome/archive/2012/05/09/2493530.html
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();        }    }}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表