在现代软件开发中,数据库的使用成为一种十分重要的技术。在许多软件应用程序中,需要使用数据库存储和管理数据。为了完成这项任务,我们需要使用一种数据库连接技术来访问和操作数据库。在本文中,我们将详细讲解 Visual Studio 2023 C# 连接数据库的方法和技术。
一、数据库连接的概念
数据库连接是一种通过网络连接到数据库服务器,并允许我们访问数据库中的数据的技术。数据库连接使我们可以打开,读取,写入和关闭数据库。除此之外,数据库连接也允许多个客户端同时访问相同的数据库。通过数据库连接,我们可以执行各种操作,如查询数据,插入新数据,删除和更新数据等。因此,连接到数据库是软件开发中的一个重要步骤。
二、连接数据库的准备工作
在开始连接数据库之前,我们需要进行一些准备工作。之一需要下载 MySQl 和 SQL server 两种数据库,以及对应的 .NET Framework 数据库(MySQL Connector和SQL Server Connector)。其次需要安装 Visual Studio 2023 软件,即 Microsoft Visual C#.NET 开发工具。需要了解相关的基本 C# 语言和数据库连接知识。
三、使用 MySQL 连接数据库
MySQL 是一种流行的开源关系型数据库系统,它支持多种编程语言。下面将介绍如何使用 C# 对 MySQL 数据库进行连接。
1. 添加 MySQL 数据库连接器
我们需要在 Visual Studio 2023 工具箱中添加 MySQL 数据库连接器。为此,需要右键点击工具箱中任意区域,然后从上下文菜单中选择“选择项目”选项。在弹出的对话框中,选择“MySQL.Data”并点击“确定”按钮。
这样,MySQL 数据库的连接器就会被添加到 Visual Studio 工具箱中。
2. 创建数据库连接对象
下一步,我们需要创建一个新的数据库连接对象来连接 MySQL 数据库。要创建数据库连接对象,请使用下面的代码:
“`C#
using MySql.Data.MySqlClient;
public MySqlConnection CreateConnection() {
string connString = “server=localhost; user id=root; password=xxxxxx; database=mydb;”;
MySqlConnection connection = new MySqlConnection(connString);
return connection;
}
“`
在上面的代码中,我们首先声明一个 MySQL 数据库连接器,并指定数据库服务器和访问权限。下一步,我们创建一个新的数据库连接对象,并将连接字符串作为参数传递给它。返回连接对象。
3. 打开和关闭数据库连接
当我们创建了数据库连接对象后,需要打开它。为此,我们只需要调用连接对象的 Open() 方法即可。而对于关闭数据库连接,我们将调用连接对象的 Close() 方法来完成。
“`C#
public void OpenConn(MySqlConnection conn) {
if(conn.State == ConnectionState.Closed) {
conn.Open();
}
}
public void CloseConn(MySqlConnection conn) {
if (conn.State == ConnectionState.Open) {
conn.Close();
}
}
“`
这两个方法接受一个 MySqlConnection 对象作为参数,分别打开和关闭连接。
4. 执行 SQL 查询
在连接到 MySQL 数据库之后,我们可以执行 SQL 查询以检索和操作数据。要执行 SQL 查询,请创建一个新的 MySqlCommand 对象,它将包含查询字符串、连接对象和命令类型等信息。然后,调用 ExecuteReader() 方法以在连接上执行查询命令。
“`C#
public void ExecuteReadData(MySqlConnection conn) {
try {
string query = “SELECT * FROM mytable”;
MySqlCommand cmd = new MySqlCommand(query, conn);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
Console.WriteLine(reader[0].ToString() + “, ” + reader[1].ToString() + “, ” + reader[2].ToString());
}
}
catch (Exception ex) {
Console.WriteLine(ex.Message);
}
}
“`
在上面的代码中,我们首先定义一个查询字符串,然后使用 MySqlConnection 对象创建一个新的 MySqlCommand 对象。然后,我们执行 ExecuteReader() 方法以在连接上执行命令。我们使用 WHILE 循环读取查询结果,然后在控制台上打印出数据。
四、使用 SQL Server 连接数据库
SQL Server 是一种流行的关系型数据库系统,它由 Microsoft 公司开发。下面将介绍如何使用 C# 对 SQL Server 数据库进行连接。
1. 添加 SQL Server 数据库连接器
我们需要在 Visual Studio 2023 工具箱中添加 SQL Server 数据库连接器。为此,需要右键点击工具箱中任意区域,然后从上下文菜单中选择“选择项目”选项。在弹出的对话框中,选择“System.Data.SqlClient”并点击“确定”按钮。
这样,SQL Server 数据库的连接器就会被添加到 Visual Studio 工具箱中。
2. 创建数据库连接对象
下一步,我们需要创建一个新的数据库连接对象来连接 SQL Server 数据库。要创建数据库连接对象,请使用下面的代码:
“`C#
using System.Data.SqlClient;
public SqlConnection CreateConnection() {
string connString = “Data Source=myServerName;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;”;
SqlConnection connection = new SqlConnection(connString);
return connection;
}
“`
在上面的代码中,我们首先声明一个 SqlConnection 对象,并指定数据库服务器和访问权限。下一步,我们创建一个新的数据库连接对象,并将连接字符串作为参数传递给它。返回连接对象。
3. 打开和关闭数据库连接
当我们创建了数据库连接对象后,需要打开它。为此,我们只需要调用连接对象的 Open() 方法即可。而对于关闭数据库连接,我们将调用连接对象的 Close() 方法来完成。
“`C#
public void OpenConn(SqlConnection conn) {
if(conn.State == ConnectionState.Closed) {
conn.Open();
}
}
public void CloseConn(SqlConnection conn) {
if (conn.State == ConnectionState.Open) {
conn.Close();
}
}
“`
这两个方法接受一个 SqlConnection 对象作为参数,分别打开和关闭连接。
4. 执行 SQL 查询
在连接到 SQL Server 数据库之后,我们可以执行 SQL 查询以检索和操作数据。要执行 SQL 查询,请创建一个新的 SqlCommand 对象,它将包含查询字符串、连接对象和命令类型等信息。然后,调用 ExecuteReader() 方法以在连接上执行查询命令。
“`C#
public void ExecuteReadData(SqlConnection conn) {
try {
string query = “SELECT * FROM mytable”;
SqlCommand cmd = new SqlCommand(query, conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
Console.WriteLine(reader[0].ToString() + “, ” + reader[1].ToString() + “, ” + reader[2].ToString());
}
}
catch (Exception ex) {
Console.WriteLine(ex.Message);
}
}
“`
在上面的代码中,我们首先定义一个查询字符串,然后使用 SqlConnection 对象创建一个新的 SqlCommand 对象。然后,我们执行 ExecuteReader() 方法以在连接上执行命令。我们使用 WHILE 循环读取查询结果,然后在控制台上打印出数据。
五、
在本文中,我们通过使用 Visual Studio 2023 C# 连接到 MySQL 和 SQL Server 数据库来了解了数据库连接的基本概念和操作。通过这些实例,我们可以更好地理解如何使用 C# 来连接到不同类型的数据库。当然,数据库连接技术的应用还有很多其他方面,需要我们积极和深入地探索和学习。
相关问题拓展阅读:
- 请问VS2023如何动态创建ACCESS数据库?
- VS2023 VB连接ACCESS数据库
- visual怎么连接oracle数据库
请问VS2023如何动态创建ACCESS数据库?
你好:
首先创建一个基于对话框的MFC应用程序ADO_Access.sln.然后在stdafx.h头文件末尾添加(网上有说在某个#include后面的添加的,也有说在合适位置添加的,我这里直接添加在最末尾)
#import “C:\Program Files\Common Files\System\ado\msado15.dll”
no_namespace rename(“EOF”, “adoEOF”)
添加完成后#import下面会出现红色波浪线提示错误, 然后更好是执行一次生成解决方案,会提示生成成功,但是红色波浪线依然在,之前自己被它困扰好久,网上有说不用理会的,之前没理会也确实后来就莫名其妙的不见了,现在我知道了,当生成成功后左下角仍然提示正在分析····文件,等待分析完了红色波浪线也就消失了。
第二步,在ADO_AccessDlh.h
类里的public下添加
_ConnectionPtr m_pConnection;//连接access数据库的链接对象
_RecordsetPtr m_pRecordset;//结果集对象
第三步,初始化数据库连接。 在ADO_AccessDlh类的OnInitDialog()初始化成员函数里添加如下代码:
数据库连接就没问题了,剩下的就是功能模块了。
VS2023 VB连接ACCESS数据库
用Delphi更合适
下面的代码仅供参考:
imports System.data.oledb /*引用命名空间*/
dim cnstr = “provider=microsoft.jet.oledb.4.0,data source=Access数据库文件位置” /*定义连接字符串*/
dim cn as oledbconnection = new oledbconnection(cnstr) /*定义连接*/
cn.open() /*打开连接*/
sqlstr=”select… from… 或其他sql”
dim cmd as sqlcommand=new sqlcommand()
cmd.commandtext=sqlstr
cmd.connection=cn
/*以上是建立执行语句*/
cmd.executenonquery() 不返回结果
cmd.executescalar() 返回单个结果
cmd.executereader() 返回结果集
/*以上是执行sql语句的方法*/
cn.close() /*关闭连接*/
你要做用户验证的话,先根据用户名查询对应的密码,再判断用户输入的密码和查询结果是不是相同就可以了
用cmd.executescalar() 这个方法
visual怎么连接oracle数据库
宿主机:Win10 + VS2023 + ODP.Net for VS2023虚拟机:Win7 + Oracle 11g + 桥接
配置ODP.Net
首先下载 Oracle Developer Tools for Visual Studio 2023 ,下载此文件需要注简纯册Oracle社区账号并接受相关的协议,此文件提供了以下组件:
Oracle Developer Tools for Visual Studio 12.1.0.2.4
Oracle Data Provider for .NET 4 12.1.0.2.0
Oracle Providers for ASP.NET 4 12.1.0.2.0
下载完成后运行MSI安装程序进行安装,安装完成后搜歼会自动注册VS2023的相关插件,重新启动VS2023后将会看到Oracle的相关命令,比如SQL *PLUS支持等。同时添加数据库时也能看到相应的选项。
ODP.Net支持所有Oracle版本,因此下载时只需要注意VS的版本即可。
配置tnsnames.ora
ODP.Net默认使拦漏咐用安装目录下的 tnsnames.ora ,若安装目录在Program Files下,可能会遇到无权限等问题,此时使用管理员权限打开命令行,切换到对应目录并使用notepad编辑。
复制服务器端的tnsnames.ora文件内容,或者自己手动编辑,格式如下:
=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = )
)
)
添加数据库
打开 工具 – 连接到数据库 ,数据源修改为 Oracle数据库 下的 ODP.NET,托管驱动程序 ,然后点击 确定 ,打开 添加连接 窗口。
填写用户名,密码并选择数据源,然后测试连接,成功的话说明已经连通,点击确定即可。
使用虚拟机搭建数据库的额外Tips
根据某网友分析,Oracle的监听器在通过1521端口连接后,会开启另外一个新的随机端口进行数据通讯,因此使用NAT方式虚拟网卡可能会导致连接失败。这种情况下,请使用桥接方式虚拟网卡,并在 net manager 中将 loaclhost 修改为虚拟机当前的IP。重启监听服务后,再试。
连接数据库并使用
连接数据库
Dim oradb As String = “User ID=system;Password=123456;Data Source=lol”
Dim conn As New OracleConnection(oradb)
conn.Open()
Dim sql As String = “create table xxx”
Dim sqlCom As New OracleCommand
sqlCom.CommandText = sql
sqlCom.Connection = conn
sqlCom.ExecuteNonQuery()
查询数据
成功配置数据源之后,只需要向界面上拖动 DataGridView ,并进行相关配置,选择自己需要的表即可。
插入图片的正确姿势
图片作为二进制数据无法直接拼凑出SQL命令,我们需要使用 OracleCommand 自带的 Parameters 功能。在SQL命令中用 :photo 来代表一个参量,然后使用
sqlCom.Parameters.Add(“photo”, OracleDbType.Blob, imgData.Length)
来分别指定这个参量的类型和所占空间大小
最后使用
sqlCom.Parameters(0).Value = imgData
来指定这个参量的值。
整个插入图片过程的代码如下:
Dim conn As New OracleConnection(oradb)
Dim imgData(0) As Byte
Dim ms As New System.IO.MemoryStream
PictureBox1.BackgroundImage.Save(ms, PictureBox1.BackgroundImage.RawFormat)
ReDim imgData(ms.Length – 1)
ms.Read(imgData, 0, ms.Length)
ms.Close()
conn.Open()
Dim sql As String = “insert into hero values” & “(” & TextBox1.Text & “:photo” & “)”
Dim sqlCom As New OracleCommand
sqlCom.CommandText = sql
sqlCom.Connection = conn
sqlCom.Parameters.Add(“photo”, OracleDbType.Blob, imgData.Length)
sqlCom.Parameters(0).Value = imgData
sqlCom.ExecuteNonQuery()
常见错误
column not allowed here
数据类型不符,检查对应项目数据类型是否正确。
missing comma
命令格式不对,检查一下自己的SQL命令是否有错误,特别是在有字符串的时候,需要使用 “” 来代表一个字符串中的 ” 。
identifier is too long
标识符过长(不得超过30字符),不是非常明白原因,不过我取消掉insert命令中指定位置的部分之后,这个错误消失了。
missing INTO keyword
缺少into关键字(手滑打成了inte),检查一下自己的SQL命令是否有错误。
vs2023 c 连接数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vs2023 c 连接数据库,VS2023 C连接数据库详解,请问VS2023如何动态创建ACCESS数据库?,VS2023 VB连接ACCESS数据库,visual怎么连接oracle数据库的信息别忘了在本站进行查找喔。