C#数据库连接


对数据库连接烦恼的我,今天为了克服这个困难今天特地来写一个关于数据库连接的博客。

各位多多指教!!!

小弟定虚💗向学!!!

using System; using System.Data.SqlClient; namespace 数据库连接及使用 { class 连接 { //创建连接对象
        private SqlConnection conn = null; //创建连接所需要的信息
        private string ConnStr = "server = .;database = BookShop;uid = sa;pwd = 123456";//我的数据库是用sa进行登录的,密码是123456 //做一个打开设置
        public bool Openconnection() { if(conn == null) { conn = new SqlConnection(ConnStr); } try { conn.Open(); return true; } catch (Exception) { return false; } } //做一个关闭设置
        public void CloseConnection() { conn.Close(); conn.Dispose(); } //对数据库进行操作
        public SqlDataReader ExecReader(string sqlQuery) { //创建使用命令的对象
            SqlCommand cm = new SqlCommand(); //设置让对象进行连接
            cm.Connection = conn; //sqlQuery是对象要用的命令
            cm.CommandText = sqlQuery; try { //执行查询操作
                SqlDataReader dr = cm.ExecuteReader();//执行用的
return dr; } catch (Exception) { return null; } } } }

 

 

 1 using System;  2 using System.Collections.Generic;  3 using System.Data.SqlClient;  4 
 5 namespace 数据库连接及使用  6 {  7     class 使用  8  {  9         public List<String> GetBook() 10  { 11             //创建存储的集合
12             List<String> boooks = new List<string>(); 13             //创建数据库对象
14             连接 db = new 连接(); 15             if (db.Openconnection()) 16  { 17                 SqlDataReader dr = db.ExecReader("select * from Books"); 18                 if (dr!=null) 19  { 20                     while (dr.Read())//Read()是对dr数据进行判断,前进下一行,如果有就返回true
21  { 22                         boooks.Add((int)dr["ID"] + ""); 23  } 24  } 25                 //关闭数据库读取
26  dr.Close(); 27                 //关闭数据库连接
28  db.CloseConnection(); 29  } 30             return boooks; 31  } 32  } 33 }

 

有了使用,就要有验证的地方!!!

using System; using System.Collections.Generic; namespace 数据库连接及使用 { class Program { static void Main(string[] args) { 使用 m = new 使用(); List<String> arr = m.GetBook(); foreach (object o in arr) { Console.WriteLine(o.ToString() + " "); } Console.ReadKey(); } } }

还有,就是把数据库建起来

create database BookShop go use BookShop go create table Books ( ID int    identity(1,1) primary key, [Type] nvarchar(20) not null, Name nvarchar(100) not null, Author nvarchar(30) not null, Price decimal check(Price>0) not null, Cover nvarchar(100) not null, TotalNum bigint check(TotalNum>10) not null, SaleNum bigint not null ) go insert into Books([Type],Name,Author,Price,Cover,TotalNum,SaleNum) values('小说','三国演义','罗贯中',49.99,'',100,1) insert into Books([Type],Name,Author,Price,Cover,TotalNum,SaleNum) values('小说','红楼梦','曹雪芹',69.99,'',100,1) insert into Books([Type],Name,Author,Price,Cover,TotalNum,SaleNum) values('小说','水浒传','施耐庵',39.99,'',100,1) insert into Books([Type],Name,Author,Price,Cover,TotalNum,SaleNum) values('小说','西游记','吴承恩',29.99,'',100,1) insert into Books([Type],Name,Author,Price,Cover,TotalNum,SaleNum) values('小说','封神榜','姜子牙',999.99,'',100,1) select * FROM Books

执行语句还有很多,还有几个很常用的:

ExecuteNonQuery()执行命令对象的SQL语句,返回一个int 类型的变量,返回数据库操作之后影响的行数。适合用来验证对数据库进行增删改的情况。

ExecuteScalar()也可以执行sql语句。如果SQL语句是Select查询,则仅仅返回查询结果集中第一行第一列,而忽略其他行和列。如果SQL语句不是Select查询,则这个返回结果没任何作用。

 

1、ExecuteReader方法存在的目的:尽可能快的对数据库进行查询并得到结果

2、ExecuteReader 返回一个DataReader对象,如果在SqlCommand对象中调用,

则返回SqlDataReader,如果在OledbCommand对象中调用,返回的是OledbDataReader,可以调用DataReader的方法和属性迭代处理结果集。

望路过的大哥多多指教


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM