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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)