数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

用OleDbCommand更新SQL Server的二进制文件


发布日期:2019年09月04日
 
用OleDbCommand更新SQL Server的二进制文件

利用ADONET中的OleDbConnection\OleDbCommand 可以方便的对SQL Server中的二进制文件进行更新操作下面是详细的代码演示

演示环境

数据库机器名 s_test

登陆名 sa

密码

数据库名 db_test

下面建立一个表

create table tb_test(id int identity()photo image constraint pk_tb_test primary key(id))

将硬盘上的文件保存至数据库(C#)

//

//

//下面的示例将c:\txt文件保存至数据库的tb_test表中

//

//

using System;

using SystemIO;?

using SystemData;

using SystemDataOleDb;

class image_test

{

[STAThread]

static void Main(string[] args)

{

try

{

//初始化OleDbConnection和OleDbCommand

OleDbConnection cn = new OleDbConnection(provider=sqloledb;server=s_test;user id=sa;password=;initial catalog=db_test);

OleDbCommand cmd = new OleDbCommand(INSERT tb_test(photo) VALUES(?)cn);

//打开文件

FileStream fs = new FileStream(c:\\txt FileModeOpen FileAccessRead);

Byte[] b = new Byte[fsLength];

fsRead(b bLength);

fsClose();

//打开连接

OleDbParameter prm = new OleDbParameter(@photoOleDbTypeVarBinary bLength?

ParameterDirectionInput false nullDataRowVersionCurrent b);

cmdParametersAdd(prm);

cnOpen();

//执行

if (cmdExecuteNonQuery() == )

ConsoleWriteLine(OK);

else

ConsoleWriteLine(Fail);?

cnClose();

}

catch(Exception ex)

{

ConsoleWriteLine(exMessage );

}

}

}?

更新数据库中保存的文件

//

//

//下面的示例用将数据库的tb_test表中ID=的记录的photo更新为c:\txt

//

//

using System;

using SystemIO;?

using SystemData;

using SystemDataOleDb;

class image_test

{

[STAThread]

static void Main(string[] args)

{

try

{

//初始化OleDbConnection和OleDbCommand

OleDbConnection cn = new OleDbConnection(provider=sqloledb;server=s_test;user id=sa;password=;initial catalog=db_test);

OleDbCommand cmd = new OleDbCommand(UPDATE tb_test SET photo= ? WHERE ID=cn);

//打开文件

FileStream fs = new FileStream(c:\\txt FileModeOpen FileAccessRead);

Byte[] b = new Byte[fsLength];

fsRead(b bLength);

fsClose();

//打开连接

OleDbParameter prm = new OleDbParameter(@photoOleDbTypeVarBinary bLength?

ParameterDirectionInput false nullDataRowVersionCurrent b);

cmdParametersAdd(prm);

cnOpen();

//执行

if (cmdExecuteNonQuery() == )

ConsoleWriteLine(OK);

else

ConsoleWriteLine(Fail);?

cnClose();

}

catch(Exception ex)

{

ConsoleWriteLine(exMessage );

}

}

}               

上一篇:详细介绍SQL交叉表的实例

下一篇:SQLServer索引的性能问题