平台:OS 为 Windows server 2008 R2 Standard,框架为.NETFramework 3.5
1. 创建数据库
开始 >> 所有程序 >> Microsoft Visual Studio 2008 >> SQL Server Management Studio,以“windows身份验证”登录(不用输入密码),点击连接。
Figure1. 身份验证登录SQL Server 2008
参考Web-II新建一个名为1012_books的数据库并为其新建一个表。内容如下:
2. 连接数据库
(1) 新建ASP .NET网站
开始 >> 所有程序 >> Microsoft Visual Studio 2008 >> 文件 >> 新建 >> 网站 >> ASP .NET网站(.NET Framework 3.5 + Visual C#)。工程名为1012_books。
(2) 配置连接SQL Server 2008方式
在解决方案下中1012_books工程下的web_config文件中的<appSettings/>后添加以下结点:
<connectionStrings>
<add name="1012_booksConnectiongStrings" connectionString="Data Source=MY-SYSTEM; Initial Catalog=1012_books; Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
其中:
- name的值可以随便取,它表示连接数据库时使用的一个字符串。
- connectionStrings的值表明连接的数据库所在的服务器名(DataSource的值,见图1)、数据库名称(Initial Catalog的值,新建的数据库名为1012_books)、连接方式(Integrated Security的值,为true时表示通过“windows身份验证”连接)。
providerName的值表数据库平台,System.Data.SqlClient表数据库平台为SQL server。
注:此解释可能不完全正确,可能局限。
(3) ASP.NET 读SQL Server 08中1012_books数据库的内容
[1] 添加控件
Figure3. Griveiw控件
[2] 编辑gridview控件的数据源
选中gridview控件 >> 点击右上角的 > 符号>> 选择数据源 >> 新建数据源… >> 数据库(为数据源指定ID(I):SqlData1012books) >> 确定 >> 选择您的数据连接(应用程序连接数据库应使用哪个数据库连接(W)?选择1012_booksConnectionString) >> 下一步 >> 配置Select语句 (指定自定义SQL语句或存储过程)>> 下一步>> 自定义语句或存储过程(SQL语句SELECT * FROM dbo.books_table) >> 查询生成器(Q)… >>无语法错误点击确定>> 下一步>> 可点击测试查询观看查询结果 >> 完成。
其中,1012_booksConnectionString是web.config中的Name值,dbo.books_table是所连接数据中的表数据库中的表。
[3] 运行结果
Figure4. ASP .NET 读取SQL Server 20081012_books数据库中book_table表中的数据
(4) ASP.NET往SQL Server 08中数据库写数据
[1] 添加控件
Figure5. 添加的控件
[2] ASP .NET 连接数据库并往数据库中写数据
双击添加按钮,为其写后台代码如下:
1. protected void Button1_Click(object sender, EventArgs e) 2. { 3. //创建连接对象,设置连接字符串 4. SqlConnection conn = new SqlConnection(); 5. conn.ConnectionString = ConfigurationManager.ConnectionStrings["1012_booksConnectionString"].ConnectionString; 6. 7. //创建命令对象,设置查询语句,添加连接 8. SqlCommand insertCmd = new SqlCommand(); 9. 10. //对SQL Server 2008 1012_books数据库 book_table的SQL插入语句 11. insertCmd.CommandText = "INSERT INTO dbo.books_table VALUES" + "(" + "'" + Num.Text + "'" + "," + "'" + Book.Text + "'" + "," + "'" + Author.Text + "'" + "," + "'" + Number.Text + "'" +")"; 12. Label5.Text = insertCmd.CommandText; 13. 14. insertCmd.Connection = conn; 15. 16. conn.Open(); 17. insertCmd.ExecuteNonQuery(); 18. conn.Close(); 19. conn.Dispose(); 20. } |
类及其方法到MSDN之上查看。
[3] 运行结果和验证
运行结果
Figure6. ASP .NET 向SQL Server 20081012_books数据库中写入数据运行结果
验证
到SQL Server Management Studio中用SQL查询1012_books数据库中的表book_table内容(新建查询>> SELECT * FROM dbo.books_table >> 运行):
比之前多了一行,此行为在ASP .NET中插入的内容。