ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob)_第1页
ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob)_第2页
ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob)_第3页
ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob)_第4页
ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论