昨天建立好了本地数据库,今天就来研究下连接数据库了。
由于之前只是使用过VB,像VB.NET之类的只是了解过,没有深入研究过,所以今天的任务有些艰巨。
从之前的了解和网上找的信息来看,还是要使用ADO.NET来连接数据库。网上有很多实例和教程,不过都是基于C#的。还好有大学的C++功底,读程序还是可以的,那就建立一个基于C#项目试试看。
新建基于C#项目的具体过程就不写了,基本和建立基于BASIC项目的过程差不多。然后添加Web窗体,名称为index.aspx。接下来要在Web.config里添加代码到
作用是加载应用时加载index.aspx页,也就是默认启动文档(如果不写这个,调试时会出错,提示没有默认文档)。
然后在index.aspx页面下,用工具箱添加了一个按钮,用来测试数据库连接。即,通过按钮的Click事件,进行代码动作。代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="测试数据库连接.index" %>
然后进入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:xxxxxxdatabasetest.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("");
}
else
{
Response.Write("");
}
最后,即第五步,要关闭连接。
connection.close();
好了,代码写完了,不过还没调试就发现一堆错误。主要是连接字符串connstring的值,貌似不能使用反斜杠。费了老鼻子劲发现只要在引号前加个@就可以了(没有搞明白为啥),即第二步中这么写:
string connstring = @"Data Source=(LocalDB)MSSQLLocalDB;AttachDbFilename=D:xxxxxxdatabasetest.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:xxxxxxdatabasetest.mdf;Integrated Security=True;Connect Timeout=30";
connection.ConnectionString = connstring;
//第三步:开始建立连接
connection.Open();//Open函数用于打开数据库连接
//第四步:输出提示
if (connection.State == System.Data.ConnectionState.Open)
{
Response.Write("");
}
else
{
Response.Write("");
}
//第五步:关闭连接
connection.Close();
}
}
}
因为对象名、变量名等和系统类、方法、函数等差不多,就变一下,方便理解,并且简化下代码:
string connstr = @"Data Source=(LocalDB)MSSQLLocalDB;AttachDbFilename=D:xxxxxxdatabasetest.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:xxxxxxdatabasetest.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()方法建立/关闭连接。
接下来就是数据库的具体使用了:增删改查。



