开发环境:VS2013 + SQLEXPRESS
出现问题:网站 Web.config 已经配置了connectionString,但是不知道怎么用代码连接
解决方案:ADO.NET连接数据库的方式有两种:一是直接写出connectionString,一是引用 Web.config 中的connectionString,这里我们使用第二种方式。
首先我们已经在项目的 App_Data 下创建了一个数据库(这里我们用SQL Server Express),名字是Database1.mdf
Web.config中的connectionString如下:
<connectionStrings> <add name="db1" connectionString="Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|\Database1.mdf; Integrated Security=True; User Instance=True" providerName="System.Data.SqlClient"/> </connectionStrings>
在form窗体内放一个按钮:
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
Button1_Click方法:
protected void Button1_Click(object sender, EventArgs e) { try { string connectionString = WebConfigurationManager.ConnectionStrings["db1"].ToString(); SqlConnection conn = new SqlConnection(connectionString); conn.Open(); SqlCommand cmd = new SqlCommand("select * from Product", conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) { Response.Write(reader.GetValue(i).ToString() + " "); } Response.Write("<br>"); } reader.Close(); conn.Close(); } catch(Exception ee) { Response.Write(ee.Message); } }
1、连接字符串:如果使用Web.config中的connectionString需要引入System.Web.Configuration命名空间
using System.Web.Configuration;
3、读取字段:在不明确字段具体类型的前提下请使用GetValue,然后转化成string
4、异常处理:看到catch里面的Exception了吗,因为我并不知道会发生什么异常;后面输出异常信息可以知道哪个地方有问题