精华内容
下载资源
问答
  • 三层数据库ole对象互换
  • 分析了Access数据库OLE 对象的特点,并给 出了在 Delphi环境下实际实现OLE对 象的保存\打 开与显示的处理方法(A ccess 数 据库 中 O LE 对象 的读 写操 作 许 俊 论文)
  • Access数据库中心OLE对象的巧妙插入
  • 在网上看了很多教程,VBA怎么把图片通过ACCESS数据库OLE对象传到数据库。结果全是其他语言写的。我今天用VBA 实现一下以下功能:代码前需引用 Microsoft Activex Data Objects x.x 库 1,把图片保存到ACCESS...

    在网上看了很多教程,VBA怎么把图片通过ACCESS数据库的OLE对象传到数据库。结果全是其他语言写的。我今天用VBA 实现一下以下功能:代码前需引用  Microsoft Activex Data Objects x.x 库

    1,把图片保存到ACCESS(通过OLE对象)

    Sub 保存图片到ACCESS数据库()
    '头像那列数据库类型为OLE对象
    Dim con As New ADODB.Connection '
    Dim command As New ADODB.command

    With con
    .Provider = "microsoft.ace.oledb.12.0"
    .ConnectionString = "d:\cs.accdb"
    .Open
    End With
    Dim b() As Byte
    Open "d:\b.jpg" For Binary As #1
     x = LOF(1)
     ReDim i(1 To x)
    Get #1, , b
    Close #1
    command.ActiveConnection = con
    command.CommandType = adCmdText
    command.CommandText = "insert into 表1(头像) values(@头像)"
    command.Parameters.Append command.CreateParameter("@头像", adBinary, , x, b)
    command.Execute
    con.Close
    Set con = Nothing
    End Sub
     

    2,把ACCESS数据库中的图片保存到本地硬盘。

    Sub 保存图片到本地()

    Dim con As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim b() As Byte
    With con
    .Provider = "microsoft.ace.oledb.12.0"
    .ConnectionString = "d:\cs.accdb"
    .Open
    End With
    Set rs = con.Execute("select * from 表1 where id=7")
    b = rs.Fields("头像")
    Open "d:\头像.jpg" For Binary As #1
    Put #1, , b
    Close #1
    con.Close
    Set con = Nothing
    End Sub

    展开全文
  • C#读写Access数据库OLE对象字段

    千次阅读 2010-01-08 14:14:00
    (一)把文件内容写入Access数据库OLE对象字段中:if (File.Exists(txtBrow.Text) != false) // 文本框txtBrow中内容为文件路径及文件名{ //获取文件后缀 FileInfo p = new FileInfo(txtBrow.Text.Trim()); F_...

    (一)把文件内容写入Access数据库的OLE对象字段中:

    if (File.Exists(txtBrow.Text) != false)   // 文本框txtBrow中内容为文件路径及文件名

    {

         //获取文件后缀

         FileInfo p = new FileInfo(txtBrow.Text.Trim());

         F_str_Type = p.Extension.ToLower();

         if (F_str_Type.Length > 5)

         {

             MessageBox.Show("不可识别的文件格式,请重新确认!","警告");

             return;

         }

         //判断文件大小

         if (p.Length == 0)

         {

             MessageBox.Show("文件的大小为“0”,不能保存!", "警告");

             return;

         }

          //创建文件对象以打开的形式读取文件

          FileStream sFileStream = new FileStream(txtBrow.Text, FileMode.Open);

          //分配数组大小

          byte[] bFile = new byte[sFileStream.Length];

          //将文件内容读进数组

          sFileStream.Read(bFile, 0, (int)sFileStream.Length);

          //关闭文件对象

           sFileStream.Close();

           //查找文档类别号

           OleDbDataReader topicread = SaveConn.GetReader("select File_ID from FileTopic where File_Topic='" + cbbTopic.Text.Trim() + "'");

             //Read()方法用来读取OleDbDataReader对象中的记录

             topicread.Read();

             T_int_Topic=(int)topicread["File_ID"];

             OleDbConnection conn = SaveConn.GetConn();

             conn.Open();

             OleDbCommand com = conn.CreateCommand();

             com.CommandText = "insert into FileTitle(File_CodeID,File_TopicID,File_Title,File_Time,File_Save,File_Name,File_Type) values(@File_CodeID,@File_TopicID,@File_Title,@File_Time,@File_Save,@File_Name,@File_Type)";

            com.Parameters.AddWithValue("@File_CodeID", txtCode.Text.Trim());   //文档编号

            com.Parameters.AddWithValue("@File_TopicID", T_int_Topic);        //文档类别号

            com.Parameters.AddWithValue("@File_Title", txtTitle.Text.Trim());  //文档标题

            com.Parameters.AddWithValue("@File_Time", txtTime.Text.Trim());    //存储时间

            com.Parameters.AddWithValue("@File_Save", bFile);                  //文档内容

            com.Parameters.AddWithValue("@File_Name", txtName.Text.Trim());    //经手人

            com.Parameters.AddWithValue("@File_Type", F_str_Type);             //文档类型

            com.CommandType = CommandType.Text;

            com.ExecuteNonQuery();

            conn.Close();

    MessageBox.Show("文档资料添加成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

    (二)双击DataGridView控件某一行,显示文档内容 

    private void dataGridView1_DoubleClick(object sender, EventArgs e)

          {

                string F_str_Open;

    //如果不存在就创建Temp文件夹

                if (Directory.Exists(Application.StartupPath + @"/Temp") == false)

                {

                    Directory.CreateDirectory(Application.StartupPath + @"/Temp");

                }

                try

                {

                    OleDbDataReader sqlread = SaveConn.GetReader("select File_Save,File_Type from FileTitle where File_CodeID='" + Convert.ToString(dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value).Trim() + "'");

                    sqlread.Read();

                    //判断文件是否已存在.

                    if (File.Exists(Application.StartupPath + @"/Temp/Temp" + sqlread["File_Type"]))

                    {

                        //如存在则删除

                        File.Delete(Application.StartupPath + @"/Temp/Temp" + sqlread["File_Type"]);

                    }

                    byte[] bFile=(byte[])sqlread[0];

                    //创建文件对象

                    System.IO.FileStream sFileStream = new System.IO.FileStream(Application.StartupPath + @"/Temp/Temp" + sqlread["File_Type"], System.IO.FileMode.Create);

                    //将数组的内容写进文件

                    sFileStream.Write(bFile, 0, bFile.Length);

                    //关闭文件

                    sFileStream.Close();

                    Process p = new Process();

                    p.StartInfo.FileName = Convert.ToString(Application.StartupPath + @"/Temp/Temp" + sqlread["File_Type"]);

                    p.Start();

                    p.Close();

                    sqlread.Close();

                }

                catch (Exception ee)

                {

                    MessageBox.Show(ee.Message);

                }

            }

     

     

     

    展开全文
  • 往往在access数据库中我们手动存的bmp图片在字段中显示的是“位图图像”,有时候并不能为我们的C#代码所...这里介绍一下有关对access数据库ole对象的操作。 //读取ole对象(bmp图片)放入picturebox byte[] bu...

    往往在access数据库中我们手动存的bmp图片在字段中显示的是“位图图像”,有时候并不能为我们的C#代码所识别,这个时候就不要手写数据库了,

    尽量保证数据库的完整性——通过代码操作数据库而不是通过手动写入数据库。

    这里介绍一下有关对access数据库的ole对象的操作。

    //读取ole对象(bmp图片)放入picturebox    

                byte[] buffer = (byte[])modelrecord.ObjectSign;

                MemoryStream ms = new MemoryStream(buffer);
                this.pictureBox1.Image = Image.FromStream(ms, true);

    //向数据库中写入ole对象(bmp图片)

                           string flname = Application.StartupPath + "\\签字.bmp";//文件的地址
                            modelrecord.ObjectSign = ImgToByt(new Bitmap(flname));//写入model的字段,以二进制流的形式

    转载于:https://www.cnblogs.com/dingshuichen/archive/2011/09/10/2172956.html

    展开全文
  • <br />使用OLE对象访问Oracle数据库  来源: 作者: 2006-08-02 出处:PCDOG.COM...在安装了Oracle的Oracle Object for OLE后,就可以使用Oracle提供的OLE对象方便地访问数据库的内容了。   

    使用OLE对象访问Oracle数据库 

    来源: 作者: 2006-08-02 出处:PCDOG.COM 

     

     

    关键字:  

     

     

     

      OLE即对象联接和嵌入技术,使用这一技术,我们在VB中不用任何控件就可轻松访问Oracle数据库的内容。在安装了Oracle的Oracle Object for OLE后,就可以使用Oracle提供的OLE对象方便地访问数据库的内容了。 

     

     

      运行下面示例程序的前提是你必须安装了Oracle的客户端或Personal Oracle,并且在安装时选择了Oracle Object for OLE选项,否则你将会得到“无法建立对象”的错误信息。 

     

      首先,我们要建立与Oracle数据库的联接,这里我们使用到两个对象OraSession对象和OraDatabase对象。OraSession对象用于管理OraDatabase对象,使用OraSession对象的OpenDatabase方法可以建立OraDatabase对象,同时建立与Oracle数据库的联接以访问数据库的内容。下面的例子演示了如何使用OraSession对象和OraDatabase对象建立与Oracle数据库的联接: 

     

      Private Sub Command_Click()

         Dim OraSession As Object

     

        Dim OraDatabase As Object

     

         Dim Ls_username As String, Ls_password As String, Ls_server As String

     

         Ls_server = ""

     

        '联接本地Oracle数据库

     

         Ls_username = "system"

     

        '用户名为 system

     

         Ls_password = "manager"

     

        '密码为 manager

     

         '建立 OraSession 对象

     

         Set OraSession = CreateObject("OracleInProcServer.XOraSession")

     

         '错误处理

     

         On Error GoTo Connect_Err:

     

        '建立OraDatabase 对象以联接到Oracle数据库

     

         Set OraDatabase = OraSession.DbOpenDatabase(Ls_server, Ls_username + "/" + Ls_password, 0&&)

     

         MsgBox "数据库联接成功!", vbOKOnly + vbInformation, "提示信息"

     

         On Error GoTo 0

     

         Exit Sub

     

        Connect_err:

     

         If InStr(OraSession.LastServerErrText, "ORA-01017") Then

     

        MsgBox "无效的用户名和密码,数据库联接不成功!", vbOKOnly + vbCritical, "提示信息"

     

         Else

     

        MsgBox "数据库联接不成功!请查看下面的出错信息:"+Chr(13)+OraSession.LastServerErrText, vbOKOnly + vbCritical, "提示信息"

     

         End If

     

        End Sub

     

     

      建立了数据库联接后我们就可以运行相应的SQL命令对数据库的内容进行相应的操作了。对于非查询SQL命令(非SELECT命令),可以使用OraDatabase对象的ExecuteSQL方法执行,而对数据库的查询则可使用OraDatabase对象的CreateDynaset方法建立OraDynaset对象来执行查询,然后建立OraFields对象对查询结果进行检索。下面我们分别举例演示如何新建一个用户然后查询并列出DBA_USERS视图中USERNAME字段的内容,程序如下: 

     

      Private Sub Command_Click()

     

         Dim OraSession As Object

     

        Dim OraDatabase As Object

     

        Dim OraDynaset As Object

     

        Dim OraFields As Object

     

         Dim Ls_username As String, Ls_password As String, Ls_server As String

     

         Dim Ls_mess As String

     

         Dim Li_I As Integer

     

         Ls_server = ""

     

        '联接本地Oracle数据库

     

         Ls_username = "system"

     

        '用户名为 system

     

         Ls_password = "manager"

     

        '密码为 manager

     

         Set OraSession = CreateObject("OracleInProcServer.XOraSession")

     

         On Error GoTo Connect_Err:

     

         Set OraDatabase = OraSession.DbOpenDatabase(Ls_server, Ls_username + "/" + Ls_password, 0&&)

     

         '执行SQL命令出错后跳转到Sql_err

     

         On Error GoTo Sql_err:

     

         Set OraDynaset = OraDatabase.DbCreateDynaset("SELECT USERNAME FROM DBA_USERS", 0&&)

     

         If OraDynaset.RecordCount > 0 Then

     

        '建立OraFields对象对查询的内容进行检索

     

        Set OraFields = OraDynaset.Fields

     

         Ls_mess = “用户列表:” + Chr(13)

     

         Ls_mess = Ls_mess + OraFields(“USERNAME”).Value

     

         for Li_I = 1 to OraDynaset.RecordCount - 1

     

         OraDynaset. MoveNext

     

         Ls_mess = Ls_mess + Chr(13) + OraFields(“USERNAME”).Value

     

         Next Li_I

     

         MsgBox Ls_mess , vbOKOnly + vbInformation, "查询结果"

     

         Else

     

         MsgBox "未查询到相应信息!", vbOKOnly + vbInformation, "提示信息"

     

         End If

     

         '创建新用户TEST,密码为TEST

     

         OraDatabase.ExecuteSQL ("CREATE USER TEST IDENTIFIED BY TEST")

     

         MsgBox "用户创建成功!", vbOKOnly + vbInformation, "提示信息"

     

         Set OraDynaset = OraDatabase.DbCreateDynaset("SELECT USERNAME FROM DBA_USERS", 0&&)

     

         If OraDynaset.RecordCount > 0 Then

     

        '建立OraFields对象对查询的内容进行检索

     

        Set OraFields = OraDynaset.Fields

     

         Ls_mess = “用户列表:” + Chr(13)

     

         Ls_mess = Ls_mess + OraFields(“USERNAME”).Value

     

         for Li_I = 1 to OraDynaset.RecordCount - 1

     

         OraDynaset. MoveNext

     

         Ls_mess = Ls_mess + Chr(13) + OraFields(“USERNAME”).Value

     

         Next Li_I

     

         MsgBox Ls_mess , vbOKOnly + vbInformation, "用户建立后查询结果"

     

         Else

     

         MsgBox "未查询到相应信息!", vbOKOnly + vbInformation, "提示信息"

     

         End If

     

        Exit Sub

     

        Connect_err:

     

         If InStr(OraSession.LastServerErrText, "ORA-01017") Then

     

        MsgBox "无效的用户名和密码,数据库联接不成功!", vbOKOnly + vbCritical, "提示信息"

     

         Else

     

        MsgBox "数据库联接不成功!请查看下面的出错信息:" + Chr(13) + OraSession.LastServerErrText, vbOKOnly + vbCritical, "提示信息"

     

         End If

     

         Exit Sub

     

        Sql_err:

     

         If OraDatabase.LastServerErr <> 0 Then 

     

         MsgBox "数据库操作出错!请查看下面的出错信息:" + Chr(13) + OraDatabase.LastServerErrText, vbOKOnly + vbCritical, "提示信息"

     

         End If

     

        End Sub

     

     

      以上只是简要讲述了在VB中使用Oracle的OLE对象联接并访问数据库的方法,当然Oracle所提供的OLE对象并不仅仅局限于上面提到的,而功能也远不止于此,有兴趣的读者可以查看Oracle的随机帮助信息,用OLE对象构造出功能强大的应用程序。 

     

      上述程序在Visual Basic 5.0下开发,数据库使用Personal Oracle 8.0.4或Oracle 8.1.6 for NT并均调试通过。

     

    展开全文
  • 如何显示数据库中以 OLE 对象方式存储的 JPEG 图片 问题原型: http://expert.csdn.net/Expert/topic/2517/2517974.xml?temp=.4831049 在 ASP 中, 我们经常需要在 Web 页面上显示以二进制方式保存在数据库中的...
  • 数据库对象为只读。 请问各位大侠如何更改数据库对象属性?谢谢,求指教 String sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\\2.xls ;Extended Properties='Excel 12.0;HDR=YES;...
  • 以Access2007为例,创建数据库,建个表,要插入二进制数据的字段的数据格式设为OLE对象。 连接: OleDbConnection aConnection; String strConnect = "Provider=Microsoft.Ace.OLEDB.12.0;Data So...
  • 一般的无组件上传类,其上传过程是将图片先保存到指定文件夹,与此同时将该路径保存至数据库字段的。显示图片则是根据数据库表中的路径字段对应显示的。...答案是肯定的,只是将该字段的类型设为OLE对象知识点:OLE...
  • 我在网上下载了破解版的SAS9.3,用了一段时间之后,今天打开就填出一个提示框:OLE对象的类没有在注册数据库中注册 激活该对象所需的应用程序不可用。是否用“转换……”将其转换为或激活为另一类型的对象 解决...
  • ADO ActiveX Data Object 活动数据访问接口是Microsoft处理数据库信息的最新技术 采用OLE DB的数据访问模式 是数据访问对象DAO 远程数据对象RDO和开放数据库互连ODBC三种方式的扩展
  • OLE 对象 来自 Office 和基于 ...OLE 对象字段创建原始文档或其他对象的位图图像,然后在数据库的表字段以及窗体或报表控件中显示该位图。 为了让 Access 呈现这些图像,必须在运行数据库的计算机上注册 OLE ...
  • 有时候需要大数据的存取时,如图片,需要用到ole对象的操作。 首先,在默认文件中,添加两个名空间 using System.Data.OleDb; using System.IO; 一个用于数据库操作,一个用于二进制文件操作 在Access中新建...
  • 答案是肯定的,只是将该字段的类型设为OLE对象知识点:OLE 对象字段用来存储诸如 Microsoft Word 或 Microsoft EXCEL 文档、图片、声音的数据以及在别的程序中创建的其他类型的二进制数据。OLE 对象可以链接或嵌
  • 应用Visual Basic为平台进行数据库的开发,主要针对Microsoft Access中“OLE对象”字段类型的数据进行显示和输出的控制,利用OLE自动化技术实现了在VB环境中直接调用Microsoft Word应用程序对试卷信息的自动化排版。
  • www.jb51.net “不能更新,数据库对象为只读”的解决方案 初接触dreamweaver,在做一简单页面实现向access数据库写数据时,总是遇到这样一错误: Microsoft OLE DB Provider for ODBC Drivers 错误 ...
  • 摘要:Delphi源码,文件操作,OLE,Excel  一个基于Delphi语言编写...而Excel的表格是从1开始编号,Excel的表格是从1开始编号,传送字段名,数据库到Excel的数据传输完毕,文件存盘,发生错误时给出提示,最后退出OLE对象
  • Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005',[Microsoft][ODBC Microsoft Access Driver] 不能更新,数据库对象为只读。昨天开始要做asp网站了,一开始就遇到麻烦了,浏览每个网页都是说数据库...
  • 利用OleDb对象,将数据库中全部表转换成XML文件 ASP.NET Dataset让你在页面中使用XML格式的文件提供了便利。如果您的数据全部都在一个数据库中,该如何进行转换呢?如果你的数据库OleDb兼容的话,下面就看看...
  • OLE对象的类没有在注册数据库中注册  激活该对象所需的应用程序不可用。是否用“转换……”将其转换为或激活为另一类型的对象  解决方案主要有以下三种: 方案一: 选中输出窗口,点击"视图"菜单,选择...
  • 对象链接与嵌入数据库OLE DB)也是微软公司提出的数据库连接访问标准。 1. OLE DB概念 OLE DB是基于组件对象模型(COM)来访问各种数据源的ActiveX的通用接口,它提供访问数据的一种统一手段,而不管存储数据...
  • ASP.NET Dataset让你在页面中...如果你的数据库OleDb兼容的话,下面就看看如何把数据库中的所有表转换成XML文件。文件名字与数据库中的表的名字相同。本代码包含两个版本:C#版本和VB.NET版本。 C#版本:[...
  • MSDN中只有AppendChunk方法... 没有判断数据长度的方法,也没有删除数据的方法,难不成每次存入数据库的文件内容需要更新时都要新增一条记录再删掉原记录么……
  • 数据库对象为只读。 错误提示内容如下:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库对象为只读。 解决方案:1.因ASP程序放在NTFS...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,614
精华内容 645
关键字:

数据库ole对象