以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Dot NET,C#,ASP,VB 』  (http://bbs.xml.org.cn/list.asp?boardid=43)
----  How to read and write blob Data with ado.net  (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=11808)


--  作者:admin
--  发布时间:11/9/2004 2:26:00 AM

--  How to read and write blob Data with ado.net


发信人: lbx (_root.play), 信区: DotNET        
标  题: How to read and write blob Data with ado.net
发信站: BBS 水木清华站 (Sat Jan  4 18:45:14 2003), 转信

//from msdn

HOW TO: Read and Write BLOB Data by Using ADO.NET with Visual C# .NET
The information in this article applies to:
Microsoft ADO.NET (included with the .NET Framework)
Microsoft Visual C# .NET (2002)
This article refers to the following Microsoft .NET Framework Class Library  
namespaces:
System.Data.SqlClient
System.IO
IN THIS TASK
SUMMARY
Requirements
Create the Project
SUMMARY
The GetChunk and the AppendChunk methods are not available in ADO.NET on Dat
aReader columns, DataSet columns, or Command parameters. This article descri
bes how to use Visual C# .NET to read and write binary large object (BLOB) f
ields.
back to the top
Requirements
The following list outlines the recommended hardware, software, network infr
astructure, and service packs that are required:
Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advan
ced Server, or Windows NT 4.0 Server
Microsoft Visual Studio .NET
Microsoft SQL Server
back to the top
Create the Project
Add a table named MyImages to your SQL Server Northwind database. Include th
e following fields in your table:
Identity field that is named "ID" of type Int.
Field that is named "Description" of type VarChar with a length of 50.
Field that is named "ImgField" of type Image.
Start Visual Studio .NET, and then create a new Visual C# Windows Applicatio
n project.
Drag two Button controls from the toolbox to the default form, Form1.
In the Properties window, change the Text property of Button1 to Save to Dat
abase (from File), and then change the Text property of Button2 to Save to F
ile (from Database).
Add the following code to the top of the Code window:
using System.Data;
using System.Data.SqlClient;
using System.IO;
                                         
Double-click Button1, and then add the following code to the Button1_Click e
vent handler:
{
SqlConnection con = new SqlConnection("Server=Darkover;uid=sa;pwd=Password1;
database=northwind");
SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages", con);
SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
DataSet ds = new DataSet("MyImages");
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
FileStream fs = new FileStream(@"C:\winnt\Gone Fishing.BMP", FileMode.OpenOr
Create, FileAccess.Read);
                         
byte[] MyData= new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
                         
fs.Close();
                         
da.Fill(ds,"MyImages");
                                 
DataRow myRow;
myRow=ds.Tables["MyImages"].NewRow();
myRow["Description"] = "This would be description text";
myRow["imgField"] = MyData;
ds.Tables["MyImages"].Rows.Add(myRow);
da.Update(ds, "MyImages");
con.Close();
                 
}
                                         
Double-click Button2, and then add the following code to the Button2_Click e
vent handler:
{
SqlConnection con = new SqlConnection("Server=Darkover;uid=sa;pwd=Password1;
database=northwind");
SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages", con);
SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
DataSet ds = new DataSet("MyImages");
byte[] MyData= new byte[0];
                         
da.Fill(ds, "MyImages");
DataRow myRow;
myRow=ds.Tables["MyImages"].Rows[0];
MyData =  (byte[])myRow["imgField"];
int ArraySize = new int();
ArraySize = MyData.GetUpperBound(0);
FileStream fs = new FileStream(@"C:\winnt\Gone Fishing2.BMP", FileMode.OpenO
rCreate, FileAccess.Write);
fs.Write(MyData, 0,ArraySize);
fs.Close();
}
                                         
Press F5 to compile and to run the application.
Click Save to Database (from File) to load the image, C:\WinNT\Gone Fishing.
bmp, into the SQL Server Image field.
Click Save to File (from Database) to save the data from the SQL Server Imag
e field back to a file.


--

※ 来源:·BBS 水木清华站 smth.edu.cn·[FROM: 202.102.145.25]
上一篇
返回上一页
回到目录
回到页首
下一篇



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms