C#数据库连接

Posted chenxiaojie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的方法和属性迭代处理结果集。

望路过的大哥多多指教

以上是关于C#数据库连接的主要内容,如果未能解决你的问题,请参考以下文章

C# 怎么连接oracle数据库

c#连接mysql数据库的代码

C#如何连接Oracle数据库

C# winform 修改数据库连接

在VS里C#中怎么实现数据库的连接?

C#怎么判断数据库是不是连接成功?