C#操作数据库

来源:互联网 发布:下载超大字体软件 编辑:程序博客网 时间:2024/06/07 07:50

先上代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data;using System.Data.SqlClient;namespace WDL{   class Program   {      static void Main(string[] args)      {      //定义连接字符串      string connString;      connString = "server=10.1.66.172;uid=PEAdmin;pwd=hRcm6/gQ;database=DB_PE_Test;";      //定义连接对象sConn      SqlConnection sConn = new SqlConnection(connString);      try      {        //打开连接        sConn.Open();      }      catch (Exception ex)      {        //给出错误信息        Console.WriteLine("连接错误:" + ex.Message);      }      //定义SQL查询语句      string sql;      sql = "SELECT TOP 10 [Id],[RuleId],[AllocateToUserId],[Status] from [DB_PE_Test].[dbo].[RuleCouponDetails]";      //定义命令对象sCmd      SqlCommand sCmd = new SqlCommand(sql, sConn);      //定义数据读取器sdr      SqlDataReader sdr = null;      //执行命令对象sCmd并赋值给sdr      sdr = sCmd.ExecuteReader();      //循环输出sdr中的内容      Console.WriteLine("进来");      while (sdr.Read())      {        Console.WriteLine("id:{0},[RuleId]{1},AllocateToUserId{2},SN{3}", sdr[0], sdr[1], sdr[2], sdr[3]);      }      sdr.Close();      //Console.ReadKey();      string Tupdate = "update[DB_PE_Test].[dbo].[RuleCouponDetails] set OrderIdInStore = 'DominosMark-20170908'";      SqlCommand sUpdate = new SqlCommand(Tupdate, sConn);      int effectedRows = sUpdate.ExecuteNonQuery();       Console.WriteLine("更新 end");      string select2 = "SELECT TOP 10 [Id],[RuleId],[AllocateToUserId],OrderIdInStore,[Status] from [DB_PE_Test].[dbo].[RuleCouponDetails] where OrderIdInStore = 'DominosMark-20170908'";      //定义命令对象sCmd      SqlCommand sCmdselect2 = new SqlCommand(select2, sConn);      //定义数据读取器sdr      SqlDataReader sdrselect2 = null;      //执行命令对象sCmd并赋值给sdr      sdrselect2 = sCmdselect2.ExecuteReader();      Console.WriteLine("再次读取");      while (sdrselect2.Read())      {        Console.WriteLine("id:{0},[RuleId]{1},AllocateToUserId{2},SN{3}", sdrselect2[0], sdrselect2[1], sdrselect2[2], sdrselect2[3]);      }      Console.ReadKey();      //while (ss.Read())      //{      //  Console.WriteLine("id:{0},[RuleId]{1},AllocateToUserId{2},SN{3}", ss[0], ss[1], ss[2], ss[3]);      //  Console.ReadKey();      //}      //关闭数据读取器      sdrselect2.Close();      //关闭数据库连接      sConn.Close();    }   }}

代码解释:
在C#中要操作数据库,一般情况需要引入两个命名空间,在三种连接模式中都要引入下面的命名空间:
System.Data;
而另外一个命名空间,使用不同的连接模式而不同,如果使用SqlClient模式的话,则需要引入如下命名空间:
System.Data.SqlClient;
如果使用OleDb模式的话,需要使用下面的命名空间:
System.Data.OleDb;
如果使用Odbc模式的话,需要使用下面的命名空间:
System.Data.Odbc;

命令对象常用的有三个方法:ExecuteReader(), ExecuteNonQuery()和ExecuteScalar()。ExecuteReader方法用于返回查询结果的全部数据。 ExecuteNonQuery方法用于返回所影响的行数,一般用于Insert、Update和Delete操作。ExecuteScalar方法返回 结果中的第一行第一列的值。
参考链接:http://www.cnblogs.com/myyan/p/3746410.html
http://blog.csdn.net/zhanghaoliangdehao/article/details/7372550

原创粉丝点击