欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

ORACLE數據庫中主要字段類型的讀寫例子(包括:L

系統 2275 0

這里我用的是ORACLE9I, 建立了表C_EMP1_T,結構如下:
create table C_EMP1_T
(
? EMP_ID???????? NUMBER(20) not null,????//用戶ID
? EMP_NO???????? VARCHAR2(20),????????//用戶編號
? EMP_DESC?????? LONG,????????????????????????//用戶簡歷????
? USED_DATE????? DATE,????????????????????????//注冊日期
? EMP_IC_MAC???? RAW(50),????????????????//用戶IC卡的MAC號
? EMP_ADMIN_FLAG CHAR(1),????????//管理員標志
? EMP_PICTURE??? BLOB????????????????????//用戶圖像
)
其中INSERT/UPDATE/SELECT的代碼分別如下(DELETE比較簡單就省略了,其中SELECT和UPDATE的條件都是記錄的rowid):
首先BLOB字段是存圖片的,所以有一個過程是把圖片傳到服務器上:
????先在aspx上加:
<form id="Form1" enctype="multipart/form-data" method="post" runat="server">
????<input id="IoFile" runat="server" type="file"> <FONT face="宋體">下一步→</FONT>
???????<asp:Button id="btunload" runat="server" Text="上傳"></asp:Button>
</form>
和代碼:

???? private ? void ?btunload_Click( object ?sender,?System.EventArgs?e)
????????
{
????????????
????????????btunload.Enabled?
= ? false ;
????????????
// 獲得文件名稱?
????????????
  ????????
string ?tempfilename? = ?IoFile.PostedFile.FileName;
   ????????
// 注:?loFile.PostedFile.FileName?返回的是?通過文件對話框選擇的文件名,這之中包含了文件的目錄信息
  ????????tempfilename? = ?Path.GetFileName?(?tempfilename);
????????????
if ?(tempfilename.Substring(tempfilename.Length - 4 , 4 )? == ? " .bmp " )
????????????
{
  ????????
// 去掉目錄信息,返回文件名稱
  ????????
// 判斷上傳目錄是否存在,不存在就建立?
???????????????? string ?tempDirectory? = ? " D:/WWWROOT/MYWEB/dbtest/Image/ " ;
  ????????
if ?(? ! ?Directory.Exists?(?tempDirectory?)?)??
   ????????????Directory.CreateDirectory?(?tempDirectory?)?;
  ????????
// 上傳文件到服務器?
???????????????? string ?tempPath? = ?tempDirectory + tempfilename; // 得到上傳目錄及文件名稱?
????????????????IoFile.PostedFile.SaveAs?(?tempPath?);
????????????????Label1.Text?
= ? " <img?src='image/ " + tempfilename + " '> " ;
????????????????Session[
" filename " ]? = ?tempfilename;
????????????}

????????????
else
????????????
{
????????????????Label1.Text?
= ? " 錯誤的文件類型 " ;
????????????}

????????????btunload.Enabled??
= ? true ;
????????????
/*
   '?獲得并顯示上傳文件的屬性?
  FileName.Text?=?lstrFileName
   '?獲得文件名稱
  FileType.Text?=?loFile.PostedFile.ContentType?
   '?獲得文件類型
  FileLength.Text?=?cStr?(?loFile.PostedFile.ContentLength?)?
   '?獲得文件長度
  FileUploadForm.visible?=?false?
  AnswerMsg.visible?=?true
   '?顯示上傳文件屬性
  End?sub?
*/


????????}


INSERT:

private ? void ?BtInsert_Click( object ?sender,?System.EventArgs?e)
????????
{
????????????
????????????
????????????OracleConnection?Ocon?
= ? new ??OracleConnection( " user?id=cmes;data?source=mes;password=cmes " );
????????????Ocon.Open();?
????????????
// OracleCommand?Ocom?=?new?OracleCommand("insert?into?c_emp1_t?(EMP_ID,EMP_NO,EMP_DESC,USED_DATE,EMP_IC_MAC,EMP_ADMIN_FLAG,EMP_PICTURE)values(:emp_id,:emp_no,:emp_desc,:emp_date,:emp_ic_mac,:flag,:picture)",Ocon);
????????????OracleCommand?Ocom? = ? new ?OracleCommand( " insert?into?c_emp1_t?(EMP_ID,EMP_NO,EMP_DESC,USED_DATE,EMP_IC_MAC,EMP_ADMIN_FLAG)values(:emp_id,:emp_no,:emp_desc,:emp_date,:emp_ic_mac,:flag) " ,Ocon);
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_id " ,OracleType.Number));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_no " ,OracleType.VarChar));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_desc " ,OracleType.LongVarChar));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_date " ,OracleType.DateTime));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " flag " ,OracleType.Char));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_ic_mac " ,OracleType.Raw));
????????????
// Ocom.Parameters.Add(new?OracleParameter("picture",OracleType.Blob));
????????????Ocom.Parameters[ " emp_id " ].Value? = ?Convert.ToDecimal(tbempid.Text);
????????????Ocom.Parameters[
" emp_no " ].Value? = ?tbempno.Text;
????????????Ocom.Parameters[
" emp_desc " ].Value? = ?tbempdesc.Text;
????????????
string ?empdate? = ?tbempdate.Text; // ?yyyymmdd
????????????Ocom.Parameters[ " emp_date " ].Value? = ???? new ?DateTime(Convert.ToInt32(empdate.Substring( 0 , 4 )),Convert.ToInt32(empdate.Substring( 4 , 2 )),Convert.ToInt32(empdate.Substring( 6 , 2 ))?);
????????????
if ?(rb1.Checked)?
????????????????Ocom.Parameters[
" flag " ].Value? = ? ' 1 ' ;
????????????
if ?(rb2.Checked)?
????????????????Ocom.Parameters[
" flag " ].Value? = ? ' 2 ' ;
????????????
if ?(rb3.Checked)?
????????????????Ocom.Parameters[
" flag " ].Value? = ? ' 3 ' ;
????????????Ocom.Parameters[
" emp_ic_mac " ].Value? = ?setraw(tbicmac.Text);????????????
????????????Ocom.ExecuteNonQuery();



????????????
/* 由與有字段long和blob一起,所以不能在一個insert語句中進行插入,單獨insert是成功的
????????????
????????????OracleConnection?Ocon?=?new??OracleConnection("user?id=cmes;data?source=mes;password=cmes");
????????????Ocon.Open();?
????????????OracleCommand?Ocom?=?new?OracleCommand("insert?into?c_emp1_t?(EMP_ID,EMP_PICTURE)values(:emp_id,:picture)",Ocon);
????????????Ocom.Parameters.Add(new?OracleParameter("emp_id",OracleType.Number));
????????????Ocom.Parameters.Add(new?OracleParameter("picture",OracleType.Blob));
????????????Ocom.Parameters["emp_id"].Value?=?Convert.ToDecimal(tbempid.Text);
????????????FileStream?reader?=?new?FileStream("D:/WWWROOT/MYWEB/dbtest/Image/002.bmp",FileMode.Open);//在iis中不用用“\”目錄結構應該是“/”
????????????byte[]?tempimage?=?new?byte[reader.Length];
????????????reader.Read(tempimage,0,tempimage.Length);
????????????//OracleLob?tempLob=OracleLob.Null;
????????????//tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);
????????????//tempLob.Write(tempimage,0,tempimage.Length);
????????????//tempLob.EndBatch();
????????????reader.Close();
????????????Ocom.Parameters["picture"].Size?=?tempimage.Length;
????????????//tempimage.CopyTo(Ocom.Parameters["picture"].Value,0);
????????????Ocom.Parameters["picture"].Value?=?tempimage;
????????????Ocom.ExecuteNonQuery();
*/

????????????
string ?myfilename? = ?Convert.ToString(Session[ " filename " ]);
????????????
if ?(myfilename? != ? "" )
????????????
{
????????????????Ocom.Parameters.Clear();
????????????????Ocom.CommandText?
= ? " update?c_emp1_t?SET?EMP_PICTURE?=?:PICTURE?WHERE?EMP_ID=?:EMP_ID? " ;
????????????????Ocom.Parameters.Add(
new ?OracleParameter( " EMP_ID " ,OracleType.Number));
????????????????Ocom.Parameters.Add(
new ?OracleParameter( " PICTURE " ,OracleType.Blob));
????????????????Ocom.Parameters[
" EMP_ID " ].Value? = ?Convert.ToDecimal(tbempid.Text);
????????????????FileStream?reader?
= ? new ?FileStream( " D:/WWWROOT/MYWEB/dbtest/Image/ " + myfilename,FileMode.Open); // 在iis中不用用“\”目錄結構應該是“/”
???????????????? byte []?tempimage? = ? new ? byte [reader.Length];
????????????????reader.Read(tempimage,
0 ,tempimage.Length);
????????????????reader.Close();
????????????????
????????????????Ocom.Parameters[
" PICTURE " ].Size? = ?tempimage.Length;
????????????????Ocom.Parameters[
" PICTURE " ].Value? = ?tempimage;
????????????????Ocom.ExecuteNonQuery();
????????????????Session[
" filename " ]? = ? "" ;
????????????}



????????????Ocon.Close();



????????}

UPDATE:
private ? void ?btUpdate_Click( object ?sender,?System.EventArgs?e)
????????
{
????????????OracleConnection?Ocon?
= ? new ??OracleConnection( " user?id=cmes;data?source=mes;password=cmes " );
????????????Ocon.Open();?
????
????????????OracleCommand?Ocom?
= ? new ?OracleCommand( " UPDATE?c_emp1_t?SET?EMP_ID=?:emp_id,EMP_NO=?:emp_no,EMP_DESC=?:emp_desc,USED_DATE=?:emp_date,EMP_IC_MAC=?:emp_ic_mac,EMP_ADMIN_FLAG=?:flag?WHERE?ROWID?=?:MYROWID " ,Ocon);
????????????Ocom.Parameters.Add(
new ?OracleParameter( " MYROWID " ,OracleType.RowId));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_id " ,OracleType.Number));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_no " ,OracleType.VarChar));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_desc " ,OracleType.LongVarChar));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_date " ,OracleType.DateTime));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " flag " ,OracleType.Char));
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emp_ic_mac " ,OracleType.Raw));
????????????Ocom.Parameters[
" MYROWID " ].Value? = ?TBROWID.Text;
????????????Ocom.Parameters[
" emp_id " ].Value? = ?Convert.ToDecimal(tbempid.Text);
????????????Ocom.Parameters[
" emp_no " ].Value? = ?tbempno.Text;
????????????Ocom.Parameters[
" emp_desc " ].Value? = ?tbempdesc.Text;
????????????
string ?empdate? = ?tbempdate.Text; // ?yyyymmdd
????????????Ocom.Parameters[ " emp_date " ].Value? = ???? new ?DateTime(Convert.ToInt32(empdate.Substring( 0 , 4 )),Convert.ToInt32(empdate.Substring( 4 , 2 )),Convert.ToInt32(empdate.Substring( 6 , 2 ))?);
????????????
if ?(rb1.Checked)?
????????????????Ocom.Parameters[
" flag " ].Value? = ? ' 1 ' ;
????????????
if ?(rb2.Checked)?
????????????????Ocom.Parameters[
" flag " ].Value? = ? ' 2 ' ;
????????????
if ?(rb3.Checked)?
????????????????Ocom.Parameters[
" flag " ].Value? = ? ' 3 ' ;
????????????Ocom.Parameters[
" emp_ic_mac " ].Value? = ?setraw(tbicmac.Text);????????????
????????????Ocom.ExecuteNonQuery();

????????????
string ?myfilename? = ?Convert.ToString(Session[ " filename " ]);
????????????
if ?(myfilename? != ? "" )
????????????
{
????????????????Ocom.Parameters.Clear();
????????????????Ocom.CommandText?
= ? " update?c_emp1_t?SET?EMP_PICTURE?=?:PICTURE?WHERE?EMP_ID=?:EMP_ID? " ;
????????????????Ocom.Parameters.Add(
new ?OracleParameter( " EMP_ID " ,OracleType.Number));
????????????????Ocom.Parameters.Add(
new ?OracleParameter( " PICTURE " ,OracleType.Blob));
????????????????Ocom.Parameters[
" EMP_ID " ].Value? = ?Convert.ToDecimal(tbempid.Text);
????????????????FileStream?reader?
= ? new ?FileStream( " D:/WWWROOT/MYWEB/dbtest/Image/ " + myfilename,FileMode.Open); // 在iis中不用用“\”目錄結構應該是“/”
???????????????? byte []?tempimage? = ? new ? byte [reader.Length];
????????????????reader.Read(tempimage,
0 ,tempimage.Length);
????????????????reader.Close();
????????????????
????????????????Ocom.Parameters[
" PICTURE " ].Size? = ?tempimage.Length;
????????????????Ocom.Parameters[
" PICTURE " ].Value? = ?tempimage;
????????????????Ocom.ExecuteNonQuery();
????????????????Session[
" filename " ]? = ? "" ;
????????????}



????????????Ocon.Close();


????????}
SELECT(由于圖片是直接向客戶端輸出,所以需要另一個頁面來輸入圖片):
private ? void ?btselect_Click( object ?sender,?System.EventArgs?e)
????????
{
????????????
if ?(TBROWID.Text.Length? < ? 18 )
????????????
{
????????????????TBROWID.Text?
= ? " 請輸入正確的ROWID " ;
????????????????
return ;
????????????????
????????????}

????????????OracleConnection?Ocon?
= ? new ??OracleConnection( " user?id=cmes;data?source=mes;password=cmes " );
????????????Ocon.Open();?
????????????OracleCommand?Ocom?
= ? new ?OracleCommand( " select?EMP_ID,EMP_NO,EMP_DESC,USED_DATE,EMP_IC_MAC,EMP_ADMIN_FLAG,EMP_PICTURE?from?c_emp1_t?where?rowid?=?:emprowid " ,Ocon);
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emprowid " ,OracleType.RowId));
????????????Ocom.Parameters[
" emprowid " ].Value? = ?TBROWID.Text;
????????????OracleDataReader?reader?
= ?Ocom.ExecuteReader();
????????????
while ?(reader.Read())
????????????
{
????????????????
if ?( ! (reader.IsDBNull( 0 )))
????????????????tbempid.Text?
= ?Convert.ToString(?reader.GetDecimal( 0 ));
????????????????
if ?( ! (reader.IsDBNull( 1 )))
????????????????tbempno.Text?
= ?reader.GetString( 1 );
????????????????
if ?( ! (reader.IsDBNull( 2 )))
????????????????tbempdesc.Text?
= ?reader.GetString( 2 );
????????????????
if ?( ! (reader.IsDBNull( 3 )))
????????????????
{
????????????????????DateTime?DT?
= ?reader.GetDateTime( 3 );
????????????????????tbempdate.Text?
= ?DT.ToString( " yyyyMMdd " );
????????????????}

????????????????
????????????????
????????????????
if ?( ! (reader.IsDBNull( 4 )))
????????????????
{
????????????????????
????????????????????
byte []?temp? = ? new ? byte [ 4000 ];
????????????????????reader.GetBytes(
4 , 0 ,temp, 0 , 4000 );
????????????????????tbicmac.Text?
= ?getraw(temp);
????????????????}

????????????????
else
????????????????????tbicmac.Text?
= ? "" ;

????????????????
if ?( ! (reader.IsDBNull( 5 )))
????????????????
{
????????????????????
/* char?tempflag?=?reader.GetChar(5);??//不支持此方法
????????????????????switch?(tempflag)
????????????????????{
????????????????????????case?'1':
????????????????????????????rb1.Checked?=?true;break;
????????????????????????case?'2':
????????????????????????????rb2.Checked?=?true;break;
????????????????????????default?:
????????????????????????????rb3.Checked?=?true;break;

????????????????????}
*/

????????????????????
char ?tempflag? = ?Convert.ToChar(reader.GetValue( 5 ));
????????????????????
switch ?(tempflag)
????????????????????
{
????????????????????????
case ? ' 1 ' :
????????????????????????????rb1.Checked?
= ? true ; break ;
????????????????????????
case ? ' 2 ' :
????????????????????????????rb2.Checked?
= ? true ; break ;
????????????????????????
default ?:
????????????????????????????rb3.Checked?
= ? true ; break ;

????????????????????}



????????????????????

????????????????}

????????????????
if ?( ! (reader.IsDBNull( 6 )))
????????????????
{
????????
????????????????????Label1.Text?
= ? " <img?src='webform3.aspx?ROWID= " + TBROWID.Text + " '> " ;
????????????????
????????????????}

????????????}

????????????reader.Close();
????????????Ocon.Close();
????????????



????????}

webform3.aspx的程序:
???????? private ? void ?Page_Load( object ?sender,?System.EventArgs?e)
????????
{
????????????OracleConnection?Ocon?
= ? new ??OracleConnection( " user?id=cmes;data?source=mes;password=cmes " );
????????????Ocon.Open();?
????????????OracleCommand?Ocom?
= ? new ?OracleCommand( " select?EMP_PICTURE?from?c_emp1_t?where?rowid?=?:emprowid " ,Ocon);
????????????Ocom.Parameters.Add(
new ?OracleParameter( " emprowid " ,OracleType.RowId));
????????????Ocom.Parameters[
" emprowid " ].Value? = ?Request.Params[ " ROWID " ];
????????????OracleDataReader?reader?
= ?Ocom.ExecuteReader();
????????????
while ?(reader.Read())
????????????
{
????????????
????????????????
if ?( ! (reader.IsDBNull( 0 )))
????????????????
{
????????????????????OracleLob?tempBlob?
= ?reader.GetOracleLob( 0 );
????????????????????
byte []?tempbuffer? = ? new ? byte [tempBlob.Length];
????????????????????
// tempBlob.BeginBatch(OracleLobOpenMode.ReadWrite);會有錯誤ORA-22292:?無法在沒有事務處理的情況下以讀寫模式打開?LOB?
????????????????????tempBlob.BeginBatch();
????????????????????tempBlob.Read(tempbuffer,
0 ,tempbuffer.Length);
????????????????????tempBlob.EndBatch();
????????????????????
// 下面是把具體的文件保存出來
????????????????????BinaryWriter?writer? = ? new ?BinaryWriter( new ?FileStream( " D:/WWWROOT/MYWEB/dbtest/Image/temp.bmp " ,FileMode.Create));
????????????????????
for ( int ?i = 0 ;i < tempbuffer.Length;i ++ )
????????????????????
{
????????????????????????writer.Write(tempbuffer[i]);
????????????????????}

????????????????????writer.Close();
????????????????????
// 下面是直接把圖片用流向客戶端輸出
????????????????????Response.BinaryWrite(tempbuffer);
????????????????????
????????????????}

????????????}

????????????reader.Close();
????????????Ocon.Close();
????????}
這些代碼在2000下測試通過的,初次寫代碼有些凌亂,請大家多多提意見

ORACLE數據庫中主要字段類型的讀寫例子(包括:Long、Raw、Blob)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产av毛片 | 亚洲精品久久午夜无码一区二区 | 久久国内精品视频 | 高清一区二区三区 | 欧美黄色一区 | 免费人成网ww44kk44 | 五月天丁香久久 | 麻豆国产一区二区三区四区 | 91高清视频在线免费观看 | 久久精品国产一区二区三区不卡 | 天天成人综合网 | 色综合久久精品中文字幕首页 | 天天操天天射天天操 | 婷婷视频网站 | 亚洲欧美v国产一区二区 | www.668vv.com| 国产一区二区三区免费观看 | 日韩大片在线永久观看视频网站免费 | 久久久九九精品国产毛片A片 | 日本大片在线免费观看 | 国产一区二区三区在线看片 | WW.国产人妻人伦精品 | 日韩精品亚洲人成在线播放 | 国产成人99久久亚洲综合精品 | 国产精品三级在线 | 欧美成人影院在线观看三级 | 久久激情五月丁香伊人 | 免费看a视频| 国产精品综合色区在线观看 | 毛片站| 欧美成年视频 | 99久久国产综合精品女小说 | 日韩成人av在线 | 国产亚洲精品久久久久久老妇小说 | 夜夜夜操操操 | 国产一区在线看 | 日日干天天 | 亚洲精品久久久久久无码AV | 亚洲精品福利一区二区三区 | 欧美性生活视频 | 91精品国产日韩91久久久久久360 |