ORACLE數(shù)據(jù)庫(kù)中主要字段類型的讀寫(xiě)例子(包括:Long、Raw、Blob)_第1頁(yè)
ORACLE數(shù)據(jù)庫(kù)中主要字段類型的讀寫(xiě)例子(包括:Long、Raw、Blob)_第2頁(yè)
ORACLE數(shù)據(jù)庫(kù)中主要字段類型的讀寫(xiě)例子(包括:Long、Raw、Blob)_第3頁(yè)
ORACLE數(shù)據(jù)庫(kù)中主要字段類型的讀寫(xiě)例子(包括:Long、Raw、Blob)_第4頁(yè)
ORACLE數(shù)據(jù)庫(kù)中主要字段類型的讀寫(xiě)例子(包括:Long、Raw、Blob)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ORACLE數(shù)據(jù)庫(kù)中主要字段類型的讀寫(xiě)例子(包括:Long、Raw、Blob)這里我用的是ORACLE9I, 建立了表C_EMP1_T,結(jié)構(gòu)如下:create table C_EMP1_T(  EMP_ID         NUMBER(20) not null,    /用戶ID  EMP_NO         VARCHAR2(20),   &

2、#160;    /用戶編號(hào)  EMP_DESC       LONG,                        /用戶簡(jiǎn)歷      USED_DATE   &#

3、160;  DATE,                        /注冊(cè)日期  EMP_IC_MAC     RAW(50),              &

4、#160; /用戶IC卡的MAC號(hào)  EMP_ADMIN_FLAG CHAR(1),        /管理員標(biāo)志  EMP_PICTURE    BLOB                    /用戶圖像)其中INSERT/UPDATE/SELECT的代碼分別

5、如下(DELETE比較簡(jiǎn)單就省略了,其中SELECT和UPDATE的條件都是記錄的rowid):首先BLOB字段是存圖片的,所以有一個(gè)過(guò)程是把圖片傳到服務(wù)器上:    先在aspx上加:<form id="Form1" enctype="multipart/form-data" method="post" runat="server">    <input id="IoFile" runat=&qu

6、ot;server" type="file"> <FONT face="宋體">下一步</FONT>       <asp:Button id="btunload" runat="server" Text="上傳"></asp:Button></form>和代碼:    private void

7、0;btunload_Click(object sender, System.EventArgs e)                                btunload.Enabled = false; &

8、#160;          /獲得文件名稱                     string tempfilename = IoFile.PostedFile.FileName;      &#

9、160; /注: loFile.PostedFile.FileName 返回的是 通過(guò)文件對(duì)話框選擇的文件名,這之中包含了文件的目錄信息        tempfilename = Path.GetFileName ( tempfilename);            if (tempfilename.Su

10、bstring(tempfilename.Length-4,4) = ".bmp")                    /去掉目錄信息,返回文件名稱        /判斷上傳目錄是否存在,不存在就建立      &#

11、160;          string tempDirectory = "D:/WWWROOT/MYWEB/dbtest/Image/"        if ( ! Directory.Exists ( tempDirectory ) )     

12、         Directory.CreateDirectory ( tempDirectory )         /上傳文件到服務(wù)器                 string tempPath

13、60;= tempDirectory+tempfilename;/得到上傳目錄及文件名稱                 IoFile.PostedFile.SaveAs ( tempPath );                

14、Label1.Text = "<img src='image/"+tempfilename+"'>"                Session"filename" = tempfilename;        

15、0;               else                            Label1.Text = "錯(cuò)誤的文件類

16、型"                        btunload.Enabled  = true;            /*' 獲得并顯示上傳文件的屬性 FileNa

17、me.Text = lstrFileName' 獲得文件名稱FileType.Text = loFile.PostedFile.ContentType ' 獲得文件類型FileLength.Text = cStr ( loFile.PostedFile.ContentLength ) ' 獲得文件長(zhǎng)度FileUploadForm.visible = false AnswerMsg.visible

18、0;= true' 顯示上傳文件屬性End sub */        INSERT:private void BtInsert_Click(object sender, System.EventArgs e)                 

19、0;                          OracleConnection Ocon = new  OracleConnection("user id=cmes;data source=mes;password=cmes"); 

20、;           Ocon.Open();             /OracleCommand Ocom = new OracleCommand("insert into c_emp1_t (EMP_ID,EMP_NO,EMP_DESC,USED_DATE,EMP_IC_

21、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_N

22、O,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);    

23、        Ocom.Parameters.Add(new OracleParameter("emp_no",OracleType.VarChar);            Ocom.Parameters.Add(new OracleParameter("emp_desc",OracleType.LongVarChar); 

24、           Ocom.Parameters.Add(new OracleParameter("emp_date",OracleType.DateTime);            Ocom.Parameters.Add(new OracleParameter("flag",OracleType.Ch

25、ar);            Ocom.Parameters.Add(new OracleParameter("emp_ic_mac",OracleType.Raw);            /Ocom.Parameters.Add(new OracleParameter("picture",Or

26、acleType.Blob);            Ocom.Parameters"emp_id".Value = Convert.ToDecimal(tbempid.Text);            Ocom.Parameters"emp_no".Value = tbemp

27、no.Text;            Ocom.Parameters"emp_desc".Value = tbempdesc.Text;            string empdate = tbempdate.Text;/ yyyymmdd   

28、;         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) );     &

29、#160;      if (rb1.Checked)                 Ocom.Parameters"flag".Value = '1'            if&

30、#160;(rb2.Checked)                 Ocom.Parameters"flag".Value = '2'            if (rb3.Checked)    &#

31、160;            Ocom.Parameters"flag".Value = '3'            Ocom.Parameters"emp_ic_mac".Value = setraw(tbicmac.Text);  &#

32、160;                     Ocom.ExecuteNonQuery();            /*由與有字段long和blob一起,所以不能在一個(gè)insert語(yǔ)句中進(jìn)行插入,單獨(dú)insert是成功的    

33、;                    OracleConnection Ocon = new  OracleConnection("user id=cmes;data source=mes;password=cmes");       

34、     Ocon.Open();             OracleCommand Ocom = new OracleCommand("insert into c_emp1_t (EMP_ID,EMP_PICTURE)values(:emp_id,:picture)",Ocon);   

35、0;        Ocom.Parameters.Add(new OracleParameter("emp_id",OracleType.Number);            Ocom.Parameters.Add(new OracleParameter("picture",OracleType.Blob);  &

36、#160;         Ocom.Parameters"emp_id".Value = Convert.ToDecimal(tbempid.Text);            FileStream reader = new FileStream("D:/WWWROOT/MYWEB/dbtest/

37、Image/002.bmp",FileMode.Open);/在iis中不用用“”目錄結(jié)構(gòu)應(yīng)該是“/”            byte tempimage = new bytereader.Length;            reader.Read(tempimage,0,tempimage.Length)

38、;            /OracleLob tempLob=OracleLob.Null;            /tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);           &

39、#160;/tempLob.Write(tempimage,0,tempimage.Length);            /tempLob.EndBatch();            reader.Close();            

40、;Ocom.Parameters"picture".Size = tempimage.Length;            /tempimage.CopyTo(Ocom.Parameters"picture".Value,0);            Ocom.Parameters"pic

41、ture".Value = tempimage;            Ocom.ExecuteNonQuery();*/            string myfilename = Convert.ToString(Session"filename");  

42、;          if (myfilename != "")                            Ocom.Parameters.Clear();&

43、#160;               Ocom.CommandText = "update c_emp1_t SET EMP_PICTURE = :PICTURE WHERE EMP_ID= :EMP_ID "         

44、       Ocom.Parameters.Add(new OracleParameter("EMP_ID",OracleType.Number);                Ocom.Parameters.Add(new OracleParameter("PICTURE",OracleType.Blo

45、b);                Ocom.Parameters"EMP_ID".Value = Convert.ToDecimal(tbempid.Text);                FileStream reade

46、r = new FileStream("D:/WWWROOT/MYWEB/dbtest/Image/"+myfilename,FileMode.Open);/在iis中不用用“”目錄結(jié)構(gòu)應(yīng)該是“/”                byte tempimage = new bytereader.Length;   

47、60;            reader.Read(tempimage,0,tempimage.Length);                reader.Close();            

48、                    Ocom.Parameters"PICTURE".Size = tempimage.Length;                Ocom.Parameters

49、"PICTURE".Value = tempimage;                Ocom.ExecuteNonQuery();                Session"filename" =

50、60;""                        Ocon.Close();        UPDATE:private void btUpdate_Click(object sender, System.Eve

51、ntArgs e)                    OracleConnection Ocon = new  OracleConnection("user id=cmes;data source=mes;password=cmes");     

52、;       Ocon.Open();                 OracleCommand Ocom = new OracleCommand("UPDATE c_emp1_t SET EMP_ID= :emp_id,EMP_NO= :emp_no,E

53、MP_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",Or

54、acleType.RowId);            Ocom.Parameters.Add(new OracleParameter("emp_id",OracleType.Number);            Ocom.Parameters.Add(new OracleParameter("emp_no

55、",OracleType.VarChar);            Ocom.Parameters.Add(new OracleParameter("emp_desc",OracleType.LongVarChar);            Ocom.Parameters.Add(new OraclePara

56、meter("emp_date",OracleType.DateTime);            Ocom.Parameters.Add(new OracleParameter("flag",OracleType.Char);            Ocom.Parameters.Add(new 

57、OracleParameter("emp_ic_mac",OracleType.Raw);            Ocom.Parameters"MYROWID".Value = TBROWID.Text;            Ocom.Parameters"emp_id".V

58、alue = Convert.ToDecimal(tbempid.Text);            Ocom.Parameters"emp_no".Value = tbempno.Text;            Ocom.Parameters"emp_desc".Value&

59、#160;= tbempdesc.Text;            string empdate = tbempdate.Text;/ yyyymmdd            Ocom.Parameters"emp_date".Value =   &

60、#160;new DateTime(Convert.ToInt32(empdate.Substring(0,4),Convert.ToInt32(empdate.Substring(4,2),Convert.ToInt32(empdate.Substring(6,2) );            if (rb1.Checked)          

61、       Ocom.Parameters"flag".Value = '1'            if (rb2.Checked)                 Oc

62、om.Parameters"flag".Value = '2'            if (rb3.Checked)                 Ocom.Parameters"flag".Value =&#

63、160;'3'            Ocom.Parameters"emp_ic_mac".Value = setraw(tbicmac.Text);                      

64、0; Ocom.ExecuteNonQuery();            string myfilename = Convert.ToString(Session"filename");            if (myfilename != ""

65、;)                            Ocom.Parameters.Clear();                Ocom.Comma

66、ndText = "update c_emp1_t SET EMP_PICTURE = :PICTURE WHERE EMP_ID= :EMP_ID "                Ocom.Parameters.Add(new OracleParameter("EMP_ID"

67、,OracleType.Number);                Ocom.Parameters.Add(new OracleParameter("PICTURE",OracleType.Blob);                Ocom.P

68、arameters"EMP_ID".Value = Convert.ToDecimal(tbempid.Text);                FileStream reader = new FileStream("D:/WWWROOT/MYWEB/dbtest/Image/"+myfilename,FileMode.Open);/在

69、iis中不用用“”目錄結(jié)構(gòu)應(yīng)該是“/”                byte tempimage = new bytereader.Length;                reader.Read(tempimage,0,tempim

70、age.Length);                reader.Close();                             

71、60;  Ocom.Parameters"PICTURE".Size = tempimage.Length;                Ocom.Parameters"PICTURE".Value = tempimage;         

72、60;      Ocom.ExecuteNonQuery();                Session"filename" = ""               

73、         Ocon.Close();        SELECT(由于圖片是直接向客戶端輸出,所以需要另一個(gè)頁(yè)面來(lái)輸入圖片):private void btselect_Click(object sender, System.EventArgs e)          &

74、#160;         if (TBROWID.Text.Length < 18)                            TBROWID.Text = &

75、quot;請(qǐng)輸入正確的ROWID"                return;                             &

76、#160;          OracleConnection Ocon = new  OracleConnection("user id=cmes;data source=mes;password=cmes");            Ocon.Open();  &#

77、160;          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); &#

78、160;          Ocom.Parameters.Add(new OracleParameter("emprowid",OracleType.RowId);            Ocom.Parameters"emprowid".Value = TBROWID.Text;  &

79、#160;         OracleDataReader reader = Ocom.ExecuteReader();            while (reader.Read()             

80、0;              if (!(reader.IsDBNull(0)                tbempid.Text = Convert.ToString( reader.GetDecimal(0);   &#

81、160;            if (!(reader.IsDBNull(1)                tbempno.Text = reader.GetString(1);         

82、       if (!(reader.IsDBNull(2)                tbempdesc.Text = reader.GetString(2);              &#

83、160; if (!(reader.IsDBNull(3)                                    DateTime DT = reader.GetDateTi

84、me(3);                    tbempdate.Text = DT.ToString("yyyyMMdd");                   

85、;                                             if (!(reader.IsDBNull(4)

86、                                                  

87、      byte temp = new byte4000;                    reader.GetBytes(4,0,temp,0,4000);           

88、         tbicmac.Text = getraw(temp);                                else  

89、                  tbicmac.Text = ""                if (!(reader.IsDBNull(5)     

90、                               /*char tempflag = reader.GetChar(5);  /不支持此方法       &#

91、160;            switch (tempflag)                                 

92、0;          case '1':                            rb1.Checked = true;break;  &

93、#160;                     case '2':                        

94、60;   rb2.Checked = true;break;                        default :              &#

95、160;             rb3.Checked = true;break;                    */          &

96、#160;         char tempflag = Convert.ToChar(reader.GetValue(5);                    switch (tempflag)     

97、0;                                      case '1':        

98、                    rb1.Checked = true;break;                        c

99、ase '2':                            rb2.Checked = true;break;            

100、0;           default :                            rb3.Checked = true;break;  

101、60;                                                 

102、60;                   if (!(reader.IsDBNull(6)                         

103、0;                  Label1.Text = "<img src='webform3.aspx?ROWID="+TBROWID.Text+"'>"             

104、;                                           reader.Close();    &#

105、160;       Ocon.Close();                    webform3.aspx的程序:        private void Page_Load(object sender,

106、0;System.EventArgs e)                    OracleConnection Ocon = new  OracleConnection("user id=cmes;data source=mes;password=cmes");   

107、;         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 = Req

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論