




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游开发项目
- 视觉导航技术的可行性报告
- 孩子科学探索常见误区
- 商业零售行业保安工作评估计划
- 管理者角色转变的总结与思考计划
- 孩子如何学会策略思考
- 秋季班级目标管理与考核计划
- 生物教学模式创新计划
- 如何有效使用办公软件计划
- 银行理财产品的选择与分析计划
- 2025陕西核工业工程勘察院有限公司招聘(21人)笔试参考题库附带答案详解
- 2025年山东、湖北部分重点中学高中毕业班第二次模拟考试数学试题含解析
- 2025-2030中国集装箱化和模块化数据中心行业市场发展趋势与前景展望战略分析研究报告
- GB/T 5162-2021金属粉末振实密度的测定
- GB/T 12755-2008建筑用压型钢板
- GB 8372-2001牙膏
- GA/T 882-2014讯问同步录音录像系统技术要求
- 《千字文》教学讲解课件
- 《调整心态,积极迎考》主题心理班会
- 乔木、灌木栽植方案
- 中国胸痛中心认证标准(标准版、基层版)
评论
0/150
提交评论