日期:2014-05-16 浏览次数:20604 次
本文介绍一下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(),因为从数据库返回了值!