连接sql server数据库用到的命名空间是using System.Data.SqlClient;
数据库连接代码:可以在大类之下声明 public SqlConnection myConnection; //sql连接对象
public SqlCommand myCmd; //用于存储sql语句的对象
另一种读取对象是dataset public SqlDataReader myreader; //用于读取数据库的对象
SqlConnection myConnection;的用法是在其构造函数内指明连接字符串
myConnection = new SqlConnection("连接字符串");
可以用配置文件来保存该链接文件,这样即便更换SQL SERVER数据库的服务器,只要在解决方案里改变配置文件app.config里的连接字符串就可以了。具体的操作是:在VS中双击属性,在出现的对话框中选"设置",在里面填好"名称","类型","值"。要记住你添的名称(假设为connectionstring)。再在代码中声明一个字符串变量str,给他赋值为:Properties.Settings.Default.connectionstring;然后 myConnection = new SqlConnection("str"); myConnection.Open(); 就可以连接数据库了。
SqlCommand myCmd; 的用法是在其构造函数内写出sql语句和连接字符串对象
myCmd = new SqlCommand("sql语句",myConnection);
这只是存储sql语句,还没有把它交给数据库处理,要交给数据库处理可以用 myCmd.ExecuteNonQuery();该方法是执行myCmd内的sql语句,并返回int型的受影响的行数, 更多用的是 SqlDataReader myreader读取数据库的对象.
SqlDataReader myreader; 只能通过SqlCommand myCmd的ExecuteReader()创建实例 用法是:
myreader = myCmd.ExecuteReader(); 创建 SqlDataReader实例的同时,向数据库提交了sql语句
用SELECT语句查询数据后可以用myreader.Read()来判断数据库中有没有要查询的数据,该方法返回的是一个布尔类型,如果myreader.Read()返回true说明数据库中有要查询的数据,反之,说明数据库中没有要查询的数据。如果查询的是"学号"(0700120343) myreader["姓名"].ToString(); 意思是返回数据库中学号是0700120343的同学的姓名,并将其转换为字符串形式,就可以显示在文本控件中了。
其中myCmd = new SqlCommand("sql语句",myConnection);中的sql语句在一些条件为动态的时候因为有单引号,很不好写,可以用以下方法:
例如:
myCmd = new SqlCommand("SELECT * FROM xueshengxinxi WHERE [专业]=@zhuanye", myConnection);