C sharp应用access和sql serve数据库
从一个开源程序,学习access和sql serve在C#中的应用
1. 背景
近来想看看怎么实现数据库的连接,在github上找到一个开源的记账项目,仅供学习使用。
- 项目使用了一个access数据库,做用户登陆,保存登陆数据
- 登陆成功之后,项目新建了一个sql serve数据库文件, 保存用户数据。
2. 打开数据库文件
打开access数据库文件:
- 安装access数据库。从微软官网下载office365全家桶,自带access。
- 双击打开,数据库文件。数据库密码从项目源码中可以得到:
string connectstring = "provider=Microsoft.jet.OLEDB.4.0;Data Source=accountsystem.mdb;Jet OleDb:Database Password=lxw618"
- 登陆后在相应的表中得到了相应的登陆用户和密码。用于后续探索。
打开sql serve数据库文件
3. sql server如何导入外部.mdf文件
4. 检查配置sql远程权限,远程TCP连接用,本地不用
5. 测试sql serve
除了通过SSMS连接,还有一些其他方式,如
建立.udl
文件通过CMD测试连接,如果显示
1>
则连接成功。用QUIT
退出测试1
sqlcmd -S <server name> -U <user name> -p <pass word> -d <database name>
6. 通过C#实现数据库的连接
access数据库的连接方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22public Boolean GetSqlConnectString()
{
try
{
string connectstring = "provider=Microsoft.jet.OLEDB.4.0;Data Source=accountsystem.mdb;Jet OleDb:Database Password=lxw618";
string sqlcommand = "select connect from [Set]";
OleDbConnection aConnection = new OleDbConnection(connectstring);
aConnection.Open();
OleDbCommand aCommand = new OleDbCommand(sqlcommand, aConnection);
OleDbDataReader reader = aCommand.ExecuteReader();
reader.Read();
sqlConectstring = reader.GetString(0);
reader.Close();
aConnection.Close();
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "系统错误");
return false;
}
}sql server数据库连接方法,实际上示例名可以空着
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21private void btnSetConnect_Click(object sender, EventArgs e)
{
try
{
if (this.IsNull() == true)
{
return;
}
string connectstring = "Data Source=" + txtServer.Text + "\\" + txtCase.Text + ";Initial Catalog=" + txtDatabase.Text + ";User ID=" + txtUsername.Text + ";Password=" + txtPassword.Text;
string sqlcommand = "select username,password from [User]";
SqlConnection sqlConnection = new SqlConnection(connectstring);
sqlConnection.Open();
SqlCommand sqlCommand = new SqlCommand(sqlcommand, sqlConnection);
SqlDataReader reader = sqlCommand.ExecuteReader();
MessageBox.Show("连接成功", "恭喜");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "系统错误");
}
}
7. 登陆测试
.
表示本地- 本地服务器实例名空着,因为不管用cmd还是udl验证都没填写实例名
- 数据库名,用户名,密码保持一致
- 实际上的中断用户名和密码是通过在线调试程序打断点的方式得到的。程序里有行比较数据库用户程序名和输入用户程序名的代码段。
8. 附录,早前使用access练习sql指令的命令行
1 |
|
C sharp应用access和sql serve数据库
http://example.com/2024/07/21/C sharp应用access和sql serve数据库/