vs2012怎么连接sql数据库(vs2010连接sqlserver数据库)

vs2012怎么连接sql数据库(vs2010连接sqlserver数据库),第1张

vs连接mysql数据的方法:

新建一个工程名叫mysql,编程环境选择c#,然后选择windows窗体应用程序,新建一个窗体用于显示查询到sql数据库的数据集

从工具箱向form1窗体上拖一个按钮和控件,按钮是触发连接数据库获取数据集,按钮的名称为显示,控件是用于显示数据集内容

单击解决方案资源管理器中的引用文件夹然后右键选择添加引用,选择浏览后打开mysqldatadll,这是c#连接mysql数据库的动态库,里面封装了很多常用的 *** 作数据库的方法

在解决方案资源管理器中的form1cs的代码中加入usingMySqlDataMySqlClient;这就是代码中的实际引用mysqldatadll中的内容,有了这个c#就能很方便地 *** 作sql数据库

在按钮的单击事件中添加如下代码

stringstr="Server=127001;UserID=root;Password=123456;Database=test;CharSet=gbk;";

con=new(str);//实例化链接

conOpen();//开启连接

stringstrcmd="selectfromuser";

cmd=new(strcmd,con);

ada=new(cmd);

DataSetds=newDataSet();

adaFill(ds);//查询结果填充数据集

DataSource=dsTables[0];

conClose();//关闭连接

使用navicat软件在数据库test中新建表user,然后新建两个字段username和password(图中的栏位),navicat软件是mysql的图形化界面工具,负责新建表以及备份等数据库 *** 作,直观地通过界面来 *** 作

数据库建好后就可以执行工程了,单击显示按钮执行结果如下,出现username和password说明数据库连接成功,由于没有添加数据所以下面为空

首先,在数据库中要建立相应的字段能保存Bytes,例如在SQL Server中用Image类型来定义字段。我所用到的数据库大致结构如下:

字段名

类型

备注

FileID

Int

自增字段

FileName

Varchar(256)

FullName

Varchar(1024)

FileData

Image

然后就是写入数据库,代码如下:

FileInfo fi = new FileInfo( txtFileNameText );// Replace with your file name

if ( fiExists)

{

byte[] bData = null;

int nNewFileID = 0;

// Read file data into buffer

using ( FileStream fs = fiOpenRead() )

{

bData = new byte[fiLength];

int nReadLength = fsRead( bData,0, (int)(fiLength) );

}

// Add file info into DB

string strQuery = "INSERT INTO FileInfo "

+ " ( FileName, FullName, FileData ) "

+ " VALUES "

+ " ( @FileName, @FullName, @FileData ) "

+ " SELECT @@IDENTITY AS 'Identity'";

SqlCommand sqlComm = new SqlCommand( strQuery, sqlConn );

sqlCommParametersAdd( "@FileName", fiName );

sqlCommParametersAdd( "@FullName", fiFullName );

sqlCommParametersAdd( "@FileData", bData );

// Get new file ID

SqlDataReader sqlReader = sqlCommExecuteReader();

if( sqlReaderRead() )

{

nNewFileID = intParse(sqlReaderGetValue(0)ToString());

}

sqlReaderClose();

sqlCommDispose();

if( nNewFileID > 0 )

{

// Add new item in list view

ListViewItem itmNew = lsvFileInfoItemsAdd( fiName );

itmNewTag = nNewFileID;

}

}

而读出的代码如下:

// Get new file name

string strFullName = dlgFBSaveSelectedPath;

if( strFullName[strFullNameLength - 1] != '\\' )

strFullName += @"\";

strFullName += lsvFileInfoSelectedItems[0]Text;

string strQuery = "SELECT FileData FROM FileInfo "

+ " WHERE FileID = " + lsvFileInfoSelectedItems[0]TagToString();

SqlDataAdapter sqlDAdapter = new SqlDataAdapter(strQuery,sqlConn);

DataSet sqlRecordSet = new DataSet();

byte[] bData = null;

//Get file data from DB

try

{

sqlDAdapterFill( sqlRecordSet, "FileInfo" );

foreach( DataRow dr in sqlRecordSetTables["FileInfo"]Rows)

{

if( dr["FileData"] != DBNullValue )

bData = ( byte[] )dr["FileData"];

}

}

catch(SqlException sqlErr)

{

MessageBoxShow( sqlErrMessage );

}

catch

{

MessageBoxShow( "Failed to read data from DB!" );

}

sqlRecordSetDispose();

sqlDAdapterDispose();

if( bData != null )

{

// Save file

FileInfo fi = new FileInfo( strFullName );

if( !fiExists )

{

//Create the file

using (FileStream fs = fiCreate())

{

fsWrite( bData, 0, bDataLength);

}

}

else

{

//Create the file

using (FileStream fs = fiOpenWrite())

{

fsWrite( bData, 0, bDataLength);

}

}

}

不过需要提的一点,如果把大量的文件存入数据库的话,会造成数据库的臃肿,而且访问量也会增大。所以现在比较流行的做法,是把文件上传到服务器上,而在数据库上只保存文件的相对路径即可。那么访问的时候,先通过数据库得到文件的相对路径,然后再访问服务器上的文件

明确答复:

VS2019中可以编写 *** 作数据库SQL的方法,如果需要在建表后显示数据库中表的数据,需要去查询数据库中的表数据,然后再显示到窗体控制键上

原因:

 VS上不能直接显示数据表内容 VS和数据库是独立的两个东西

解决办法:

在VS上编写数据库访问类

调用类中的查询方法查询数据库中表的数据

将数据显示到窗体控件DataGridView或ListView上

string strConn = "Provider=MicrosoftJETOLEDB40;Data Source=D:\\AgencyTLS\\BaseDatamdb;Jet OLEDB:Database Password = 000000;";

OleDbConnection Conn = new OleDbConnection(strConn);

ConnOpen();

if (ConnState == ConnectionStateOpen)//如果数据库连接了

{

MessageBoxShow("数据库已连接!");

label1text = "Success!";

}

是这个意思吗?

以上就是关于vs2012怎么连接sql数据库(vs2010连接sqlserver数据库)全部的内容,包括:vs2012怎么连接sql数据库(vs2010连接sqlserver数据库)、VS.C#如何向数据数据库中存入和读取图片的、VS2019里的数据库SQL等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9504409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存