自学WEB开发第四天-基于VB和ASP.NET:完成连接数据库,ADO.net
昨天建立好了本地数据库,今天就来研究下连接数据库了。
由于之前只是使用过VB,像VB.NET之类的只是了解过,没有深入研究过,所以今天的任务有些艰巨。
从之前的了解和网上找的信息来看,还是要使用ADO.NET来连接数据库。网上有很多实例和教程,不过都是基于C#
的。还好有大学的C++
功底,读程序还是可以的,那就建立一个基于C#
项目试试看。
新建基于C#
项目的具体过程就不写了,基本和建立基于BASIC
项目的过程差不多。然后添加Web窗体
,名称为index.aspx
。接下来要在Web.config
里添加代码到<configuration>
下:
<system.webServer >
<defaultDocument>
<files>
<clear/>
<add value="index.aspx"/>
</files>
</defaultDocument>
</system.webServer>
作用是加载应用时加载index.aspx
页,也就是默认启动文档(如果不写这个,调试时会出错,提示没有默认文档)。
然后在index.aspx
页面下,用工具箱添加了一个按钮,用来测试数据库连接。即,通过按钮的Click
事件,进行代码动作。代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="测试数据库连接.index" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="连接数据库" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
然后进入index.aspx
的设计页面,双击按钮,就跳转到了index.aspx
的代码编辑页面index.aspx.cs
,其Button1_Click事件即点击按钮事件。接下来,就要编写连接到数据库的代码了。
首先,要使用数据库客户端:
using System.Data;
using System.Data.SqlClient;
接下来正式连接数据库。
第一步,新建连接对象,起名为connection
SqlConnection connection = new SqlConnection();
第二步,定义变量connstring
为连接字符串,并给连接对象connection
指定连接的参数(这里连接字符串即引导至数据库服务器和目标数据库的信息。在服务器资源管理器下,已经建好的数据库连接的属性里有“连接字符串”,把值复制过来就行。)
string connstring = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\xxx\xxx\database\test.mdf;Integrated Security=True;Connect Timeout=30";
connection.ConnectionString = connstring;
这里做个 MARK,如果指向数据库服务器的话,连接字符串应该是:
Data Source=server name;Initial Catalog=SQL name;User Id=sa;Password=******;
Data Source的值server name,就是服务器名称,也可以用IP表示。
Initial Catalog的值SQL name,是要连接的数据库的名称。
User Id和Password分别表示登录数据库的用户名密码。
第三步,开始建立连接
connection.Open();
到这里,连接数据库就完成了。但是为了检查是否连接成功,我加了一步进行判断:
第四步,输出提示
if (connection.State == System.Data.ConnectinState.Open)
{
Response.Write("<script>alert('数据库连接成功!');</script>");
}
else
{
Response.Write("<script>alert('数据库连接失败!');</script>");
}
最后,即第五步,要关闭连接。
connection.close();
好了,代码写完了,不过还没调试就发现一堆错误。主要是连接字符串connstring
的值,貌似不能使用反斜杠。费了老鼻子劲发现只要在引号前加个@
就可以了(没有搞明白为啥),即第二步中这么写:
string connstring = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\xxx\xxx\database\test.mdf;Integrated Security=True;Connect Timeout=30";
调试一下,成功。整体代码是这样的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
// 连接数据库客户端
using System.Data;
using System.Data.SqlClient;
namespace 测试数据库连接
{
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//第一步:新建连接对象 connection
SqlConnection connection = new SqlConnection();
//第二步:给连接对象指定连接的参数(连接字符串connstring)
string connstring = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\xxx\xxx\database\test.mdf;Integrated Security=True;Connect Timeout=30";
connection.ConnectionString = connstring;
//第三步:开始建立连接
connection.Open();//Open函数用于打开数据库连接
//第四步:输出提示
if (connection.State == System.Data.ConnectionState.Open)
{
Response.Write("<script>alert('数据库连接成功!');</script>");
}
else
{
Response.Write("<script>alert('数据库连接失败!');</script>");
}
//第五步:关闭连接
connection.Close();
}
}
}
因为对象名、变量名等和系统类、方法、函数等差不多,就变一下,方便理解,并且简化下代码:
string connstr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\xxx\xxx\database\test.mdf;Integrated Security=True;Connect Timeout=30";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
conn.Close();
好,接下来研究怎么用VB连接数据库
VB连接数据库时候使用SQL数据库客户端:
Imports System.Data.SqlClient
然后开始连接数据库,这里就不分部写了。
Dim ConnStr As String ="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\xxx\xxx\database\test.mdf;Integrated Security=True;Connect Timeout=30"
Dim MyCon As New SqlConnection(ConnStr)
MyCon.Open()
然后是测试连接是否成功
If MyCon.State = System.Data.ConnectionState.Open Then
MsgBox("连接成功!")
Else
MsgBox("连接失败!")
End If
OK,调试成功。总结一下:
首先需要声明使用的数据库客户端,然后是使用SqlConnection()
方法定义数据库连接对象(Connection
),对象必须的属性就是连接字符串(ConnectionString
)。下来就是.Open()
方法和.Close()
方法建立/关闭连接。
接下来就是数据库的具体使用了:增删改查。