日期:2014-05-16  浏览次数:20587 次

C# 数据库操作(一)

本文介绍一下C#连接SQL Sever以及对数据库进行的一些基本操作:

?

假设数据库名字叫做: SQLsql

?

1)连接语句:

?string connString = "Data Source=.\\sqlexpress;AttachDbFilename=G:\\SQLsql.mdf;Integrated Security=True;User Instance=True";

说明:第一个分号前面的内容一般不会变化(注意:这个服务器是建立在本机上的),第二个分号指出你的数据库存放的位置,如果在建立数据库后没有移动数据库(此时数据库在C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA中),则只要直接写出数据库名字就行;第三个分号的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器(建立数据库的时候可以看到);第四个分号:User Instance 就是用户实例,为 True,表示使用用户实例;

SqlConnection conn = new SqlConnection(connString);

说明:连接语句

?

2)插入语句:

?

string sqla = @"Insert into Student (name, age, address) VALUES ('Kitty', 29, 'chsdak')";

?? ? ? ? ? ?conn.Open();

?? ? ? ? ? ?SqlCommand cmda = new SqlCommand(sqla, conn);

?? ? ? ? ? ?cmda.ExecuteNonQuery();

?? ? ? ? ? ?conn.Close();

说明:第一句对数据库稍有了解就知道吧?要注意的就是第三句,当执行的数据库操作语句没有返回时要用SqlCommand的这个方法ExecuteNonQuery(),最后要注意关闭连接,不然会占用资源;

?

?

3)修改语句:

?

string sqld = @"UPDATE Student set age = 100 WHERE name = 'Kitty'";

?? ? ? ? ? ?conn.Open();

?? ? ? ? ? ?SqlCommand cmdd = new SqlCommand(sqld, conn);

?? ? ? ? ? ?cmdd.ExecuteNonQuery();

?? ? ? ? ? ?conn.Close();

说明:注意Update语句后面的条件一定要写好,不然后果不堪设想!

?

4)删除语句:

?

?string sqlc = @"Delete From Student WHERE name = 'Kitty'";

?? ? ? ? ? ?conn.Open();

?? ? ? ? ? ?SqlCommand cmdc = new SqlCommand(sqlc, conn);

?? ? ? ? ? ?cmdc.ExecuteNonQuery();

?? ? ? ? ? ?conn.Close();

?

5)查询语句:

?

?string sqlb = @"select DISTINCT * from Student order by age";

?? ? ? ? ? ?SqlDataReader reader = null;

?

?? ? ? ? ? ?try

?? ? ? ? ? ?{

?? ? ? ? ? ? ? ?conn.Open();

?

?? ? ? ? ? ? ? ?SqlCommand cmd = new SqlCommand(sqlb, conn);

?? ? ? ? ? ? ? ?reader = cmd.ExecuteReader();

?

?? ? ? ? ? ? ? ?while (reader.Read()) {

?? ? ? ? ? ? ? ? ? ?Console.WriteLine("{0}|{1}", reader["name"].ToString().PadLeft(10),reader["age"].ToString().PadLeft(10));

?? ? ? ? ? ? ? ?}

?? ? ? ? ? ? ? ?Console.WriteLine("Connection opened");

?? ? ? ? ? ?}

?? ? ? ? ? ?catch (SqlException e)

?? ? ? ? ? ?{

?? ? ? ? ? ? ? ?Console.WriteLine(e);

?? ? ? ? ? ?}

?? ? ? ? ? ?finally {

?? ? ? ? ? ? ? ?conn.Close();

?? ? ? ? ? ? ? ?Console.WriteLine("Connectioned closed");

?? ? ? ? ? ? ? ?Console.ReadLine();

?? ? ? ? ? ?}

说明:这里抛出了异常,不抛出也是可以运行的····有几点要注意的:1.注意读取返回的东西的格式;2.finally这里是必须的,因为需要关闭连接!3.这里执行command的语句是ExecuteReader(),因为从数据库返回了值!