C#從SQL Server中讀寫大資料列

hljhrbsjf發表於2006-09-03

/*
Author:Wu Xiuxiang;
Email:imessage@126.com

*/

public static void Main()
C#從SQL Server中讀寫大資料列C#從SQL Server中讀寫大資料列
{
C#從SQL Server中讀寫大資料列
//寫入大物件到SqlServer
C#從SQL Server中讀寫大資料列
FileStream fs = new FileStream("C:test.bmp",FileMode.OPen,FileAccess.Read);
C#從SQL Server中讀寫大資料列 BinaryReader br
= new BinaryReader(fs);
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 SqlConnection conn
= new SqlConnection("server=localhost;uid=sa;pwd=sa;database=northwind");
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列
string cmdText = "UPDATE EMPLOYEES" +
C#從SQL Server中讀寫大資料列
"SET Photo=@image where EmployeeId=1";
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 SqlCommand cmd
= new SqlCommand(cmdText,conn);
C#從SQL Server中讀寫大資料列 cmd.Parameters.Add(
"@image",SqlDbType.Image);
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 cmd.Parameters[
"@image"].Value = br.ReadBytes((int)br.BaseStream.Length);
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 conn.Open();
C#從SQL Server中讀寫大資料列
int i=cmd.ExecuteNoQuery();
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列
//從SQL Server中讀取大物件C#從SQL Server中讀寫大資料列 string cmdtext = "SELECT employeeid,photo" +
C#從SQL Server中讀寫大資料列
" from employees where employeeid = 1";
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 SqlCommand cmd2
= new SqlCommand(cmdtext,conn);
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 FileStream rfs;
C#從SQL Server中讀寫大資料列 BinaryWriter rbw;
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列
long numread;
C#從SQL Server中讀寫大資料列
long startIndex;
C#從SQL Server中讀寫大資料列
int buffSize=4096;
C#從SQL Server中讀寫大資料列
byte[] buff = new byte[buffSize];
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 conn.Open();
C#從SQL Server中讀寫大資料列 SqlDataReader rdr
= cmd.ExecuteReader(CommandBehavior.SequentialAccess);
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列
if(rdr.Read())
C#從SQL Server中讀寫大資料列C#從SQL Server中讀寫大資料列
{
C#從SQL Server中讀寫大資料列
int empid = rdr.GetInt32(0);
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 fs
= new FileStream("c:mypic.bmp",FileMode.OpenOrCreate,FileAccess.Write);
C#從SQL Server中讀寫大資料列 bw
= new BinaryWrite(fs);
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 startIndex
=0;
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 numread
= rdr.GetBytes(1,startIndex,buff,0,buffSize);
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列
while(numread==buffSize)
C#從SQL Server中讀寫大資料列C#從SQL Server中讀寫大資料列
{
C#從SQL Server中讀寫大資料列 bw.Write(buff);
C#從SQL Server中讀寫大資料列 bw.Flush();
C#從SQL Server中讀寫大資料列 startIndex
+=buffSize;
C#從SQL Server中讀寫大資料列 numread
= rdr.GetBytes(1,startIndex,buff,buffSize);
C#從SQL Server中讀寫大資料列 }

C#從SQL Server中讀寫大資料列 bw.Write(buff);
C#從SQL Server中讀寫大資料列 bw.Flush();
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 bw.Close();
C#從SQL Server中讀寫大資料列 fs.Close();
C#從SQL Server中讀寫大資料列 }

C#從SQL Server中讀寫大資料列 rdr.Close();
C#從SQL Server中讀寫大資料列 conn.Close();
C#從SQL Server中讀寫大資料列
C#從SQL Server中讀寫大資料列 }

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/631872/viewspace-862717/,如需轉載,請註明出處,否則將追究法律責任。

相關文章