VS2023 C连接数据库详解 (vs2023 c 连接数据库)

在现代软件开发中,数据库的使用成为一种十分重要的技术。在许多软件应用程序中,需要使用数据库存储和管理数据。为了完成这项任务,我们需要使用一种数据库连接技术来访问和操作数据库。在本文中,我们将详细讲解 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=; 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数据库?

你好:

首先创建一个基于对话框的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 “

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数据库的信息别忘了在本站进行查找喔。


数据运维技术 » VS2023 C连接数据库详解 (vs2023 c 连接数据库)