VS2013 ADO.NET 连接 SQLEXPRESS
VS2013 ADO.NET 连接 SQLEXPRESS
开发环境: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>
然后我们新建一个 WebForm,名字是Home
在form窗体内放一个按钮:
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
最后我们在 Home.aspx.cs 中实现数据库的连接
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;
2、查询表:上面的Product表是我在数据库中手动建的,可以打开App_Data中对应数据库文件建表
3、读取字段:在不明确字段具体类型的前提下请使用GetValue,然后转化成string
4、异常处理:看到catch里面的Exception了吗,因为我并不知道会发生什么异常;后面输出异常信息可以知道哪个地方有问题