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