




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、ORACLE數據庫中主要字段類型的讀寫例子(包括:Long、Raw、Blob)這里我用的是ORACLE9I, 建立了表C_EMP1_T,結構如下:create table C_EMP1_T( EMP_ID NUMBER(20) not null, /用戶ID EMP_NO VARCHAR2(20), &
2、#160; /用戶編號 EMP_DESC LONG, /用戶簡歷 USED_DATE
3、160; DATE, /注冊日期 EMP_IC_MAC RAW(50), &
4、#160; /用戶IC卡的MAC號 EMP_ADMIN_FLAG CHAR(1), /管理員標志 EMP_PICTURE BLOB /用戶圖像)其中INSERT/UPDATE/SELECT的代碼分別
5、如下(DELETE比較簡單就省略了,其中SELECT和UPDATE的條件都是記錄的rowid):首先BLOB字段是存圖片的,所以有一個過程是把圖片傳到服務器上: 先在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 返回的是 通過文件對話框選擇的文件名,這之中包含了文件的目錄信息 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 ) /上傳文件到服務器 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 = "錯誤的文件類
16、型" btunload.Enabled = true; /*' 獲得并顯示上傳文件的屬性 FileNa
17、me.Text = lstrFileName' 獲得文件名稱FileType.Text = loFile.PostedFile.ContentType ' 獲得文件類型FileLength.Text = cStr ( loFile.PostedFile.ContentLength ) ' 獲得文件長度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一起,所以不能在一個insert語句中進行插入,單獨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中不用用“”目錄結構應該是“/” 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中不用用“”目錄結構應該是“/” 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中不用用“”目錄結構應該是“/” 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(由于圖片是直接向客戶端輸出,所以需要另一個頁面來輸入圖片):private void btselect_Click(object sender, System.EventArgs e) &
74、#160; if (TBROWID.Text.Length < 18) TBROWID.Text = &
75、quot;請輸入正確的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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紡織品批發商客戶關系管理考核試卷
- 珠寶首飾設計與生活美學融合考核試卷
- 礦用通訊設備與網絡技術考核試卷
- 玻璃制品耐候性能測試考核試卷
- 娛樂用品生產設備智能化改造與升級考核試卷
- 牛只生長發育與飼養管理優化考核試卷
- 玻璃加工過程中的污染控制考核試卷
- 建筑裝飾工程信息模型(BIM)應用考核試卷
- 嶺南師范學院《工程造價算量信息化綜合》2023-2024學年第一學期期末試卷
- 寧夏醫科大學《器官-系統模塊三》2023-2024學年第二學期期末試卷
- GB 7718-2025食品安全國家標準預包裝食品標簽通則
- 2025年高考歷史總復習世界近代史專題復習提綱
- 對患者入院評估的系統化方法試題及答案
- 2024年貴州貴州路橋集團有限公司招聘真題
- 2025年應急管理普法知識競賽題(附答案)
- 《工程勘察設計收費標準》(2002年修訂本)
- 氣相色譜-質譜聯用GC-MS
- 職業病危害告知書
- 幼兒園《交通工具(火車篇)家長代課》PPT課件
- 形式發票樣本
- 公司上市IPO的條件及要求(完整版)
評論
0/150
提交評論