.NET中怎样动态创建含有图片字段的ACCESS数据库?

解决方案 »

  1.   

    http://dotnet.aspx.cc/article/275e8772-a68a-417f-fd66-b75ea44499a4/read.aspx
    修改一下类型即可
      

  2.   

    <%@ Page Language="C#" %><%@ Import Namespace="ADOX" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">
      /// <summary>
      /// CreateAccessDB 的摘要说明。
      /// 对于不同版本的ADO,需要添加不同的引用
      /// 请添加引用Microsoft ADO Ext. 2.7 for DDL and Security
      /// 请添加引用Microsoft ADO Ext. 2.8 for DDL and Security
      /// </summary>  protected void Page_Load(object sender, EventArgs e)
      {
        //为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动IIS来删除数据库。
        string dbName = "D:\\NewMDB" + DateTime.Now.Millisecond.ToString() + ".mdb";
        ADOX.CatalogClass cat = new ADOX.CatalogClass();
        cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";");
        Response.Write("数据库:" + dbName + "已经创建成功!");
        ADOX.TableClass tbl = new ADOX.TableClass();
        tbl.ParentCatalog = cat;
        tbl.Name = "MyTable";    //增加一个自动增长的字段
        ADOX.ColumnClass col = new ADOX.ColumnClass();
        col.ParentCatalog = cat;
        col.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
        col.Name = "id";
        col.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
        col.Properties["AutoIncrement"].Value = true;
        tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0);    //增加一个文本字段
        ADOX.ColumnClass col2 = new ADOX.ColumnClass();
        col2.ParentCatalog = cat;
        col2.Name = "Description";
        col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
        tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25);    ADOX.ColumnClass col3 = new ADOX.ColumnClass();
        col3.ParentCatalog = cat;
        col3.Name = "数字";
        col3.Type = DataTypeEnum.adDouble;
        col3.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
        tbl.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666);    ADOX.ColumnClass col4 = new ADOX.ColumnClass();
        col4.ParentCatalog = cat;
        col4.Name = "Ole类型";
        col4.Type = DataTypeEnum.adLongVarBinary;
        col4.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
        tbl.Columns.Append(col4, ADOX.DataTypeEnum.adLongVarBinary, 0);
        //设置主键
        tbl.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "id", "", "");
        cat.Tables.Append(tbl);    msg.Text = ("<br>数据库表:" + tbl.Name + "已经创建成功!");    System.Runtime.InteropServices.Marshal.ReleaseComObject(tbl);
        System.Runtime.InteropServices.Marshal.ReleaseComObject(cat);
        tbl = null;
        cat = null;
        GC.WaitForPendingFinalizers();
        GC.Collect();
      }
    </script><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title>在.NET框架下动态创建Access数据库和表</title>
    </head>
    <body>
      <form id="form1" runat="server">
        <asp:Label ID="msg" runat="server" />
      </form>
    </body>
    </html>
      

  3.   

    http://dotnet.aspx.cc/article/89137097-0313-4197-aebf-116e391e354a/read.aspx