社区
C#
帖子详情
简单问题!帮帮忙!急啊,解决马上给分!
yybb520
2005-06-18 12:45:27
我想实现在是动态创建一个数据库(字段不确定),然后向数据库中录入记录(在DataGrid中录入),有哪位好心人可以帮帮忙我怎么样将DATAGRID中的数据加到所建的数据库中呢?因为是access数据库,所以不使用存储过程,高手快帮帮我啊!马上给分啊!
...全文
102
10
打赏
收藏
简单问题!帮帮忙!急啊,解决马上给分!
我想实现在是动态创建一个数据库(字段不确定),然后向数据库中录入记录(在DataGrid中录入),有哪位好心人可以帮帮忙我怎么样将DATAGRID中的数据加到所建的数据库中呢?因为是access数据库,所以不使用存储过程,高手快帮帮我啊!马上给分啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
renyu732
2005-07-02
打赏
举报
回复
完全解决方案请见:
http://blog.csdn.net/hchxxzx/archive/2005/05/19/376362.aspx
renyu732
2005-07-02
打赏
举报
回复
动态创建数据库的代码:
/// 由于创建数据库必须用到ADOX,所以你必须添加引用它
/// 对于不同版本的ADO,需要添加不同的引用
/// 请添加引用Microsoft ADO Ext. 2.7 for DDL and Security
/// 请添加引用Microsoft ADO Ext. 2.8 for DDL and Security
/// 之后,并且在页面中using ADOX;
#region 创建ACCESS数据库
/// <summary>
/// 生成一个ACCESS数据库
/// 字段1:ID 自动编号
/// 字段2:filename 原文件名
/// 字段3:filenewname 新文件名(以年月日时分秒加毫秒命名)
/// 字段3:fileSize 文件大小
/// 字段4:fileMime 文件mime类型
/// 字段5:fileblob 存储文件,OLE类型(相应SQLSERVER为IMAGE类型,ORACLE中为BLOB类型
/// 字段6:uploadtime 上传时间
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button1_Click(object sender, System.EventArgs e)
{
//检查此数据库,如果已经创建,则删除它
if(File.Exists(dbName) == true)
{
try
{
File.Delete(dbName);
}
catch
{
this.Response.Write("<script>alert('发生意外,无法删除此文件,该文件可能被打开');history.back();</script>");
this.Response.End();
}
}
//创建数据库
ADOX.CatalogClass cat = new ADOX.CatalogClass();
ADOX.TableClass mytab;
try
{
//创建数据库
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName +";");
//创建表
mytab = new ADOX.TableClass();
mytab.ParentCatalog = cat;
mytab.Name = this.dbTable;
//增加一个自动增长的字段
this.add_Columns(cat,mytab,"id","上传文件信息表ID",ADOX.DataTypeEnum.adInteger,0,true);
//添加原文件名字段,文本,50长度
//注意,字段类型文本不能使用adVarChar,否则出错
this.add_Columns(cat,mytab,"filename","原文件名",ADOX.DataTypeEnum.adVarWChar,50);
//添加 新文件名字段,文本,50长度
this.add_Columns(cat,mytab,"filenewname","新文件名",ADOX.DataTypeEnum.adVarWChar,50);
//添加 文件大小字段,数字,0长度
this.add_Columns(cat,mytab,"fileSize","文件大小",ADOX.DataTypeEnum.adInteger,0);
//添加 文件mime类型 字段,文本,50长度
this.add_Columns(cat,mytab,"fileMime","文件mime类型",ADOX.DataTypeEnum.adVarWChar,50);
//添加 OLE类型 字段,OLE,0长度
this.add_Columns(cat,mytab,"fileblob","OLE类型",ADOX.DataTypeEnum.adLongVarBinary,0);
//添加 上传时间 字段,date,0长度
this.add_Columns(cat,mytab,"uploadtime","上传时间",ADOX.DataTypeEnum.adDate,8);
//设置主键
mytab.Keys.Append("PrimaryKey",ADOX.KeyTypeEnum.adKeyPrimary,"id","","");
//添加创建好的表
cat.Tables.Append(mytab);
}
catch(Exception ex)
{
throw ex;
}
finally
{
mytab = null;
cat = null;
//页面转向
this.Response.Write("<script>alert('成功创建数据库及表!');window.location.href='list.aspx';</script>");
this.Response.End();
}
}
/// <summary>
/// 重载,添加ACCESS数据库表字段
/// </summary>
/// <param name="cat">ADOX对象</param>
/// <param name="myTab">要创建字段的表名</param>
/// <param name="columnName">字段名</param>
/// <param name="Description">字段注释</param>
/// <param name="dataType">字段格式</param>
/// <param name="columSize">字段长度</param>
private ADOX.ColumnClass add_Columns(ADOX.CatalogClass cat,ADOX.TableClass myTab,string columnName,string Description,ADOX.DataTypeEnum dataType,int columSize)
{
return(this.add_Columns(cat,myTab,columnName,Description,dataType,columSize,false));
}
/// <summary>
/// 重载,添加ACCESS数据库表字段
/// </summary>
/// <param name="cat">ADOX对象</param>
/// <param name="myTab">要创建字段的表名</param>
/// <param name="columnName">字段名</param>
/// <param name="Description">字段注释</param>
/// <param name="dataType">字段格式</param>
private ADOX.ColumnClass add_Columns(ADOX.CatalogClass cat,ADOX.TableClass myTab,string columnName,string Description,ADOX.DataTypeEnum dataType)
{
return(this.add_Columns(cat,myTab,columnName,Description,dataType,0,false));
}
/// <summary>
/// 添加ACCESS数据库表字段
/// </summary>
/// <param name="cat">ADOX对象</param>
/// <param name="myTab">要创建字段的表名</param>
/// <param name="columnName">字段名</param>
/// <param name="Description">字段注释</param>
/// <param name="dataType">字段格式</param>
/// <param name="columSize">字段长度</param>
/// <param name="isAutoIncrement">是否自动编号</param>
private ADOX.ColumnClass add_Columns(ADOX.CatalogClass cat,ADOX.TableClass myTab,string columnName,string Description,ADOX.DataTypeEnum dataType,int columSize,bool isAutoIncrement)
{
ADOX.ColumnClass myColumn = new ADOX.ColumnClass();
myColumn.ParentCatalog = cat;
//设置字段类型
myColumn.Type = dataType;
//字段名
myColumn.Name = columnName;
//添加注释
myColumn.Properties["Description"].Value = Description;
//添加自动编号
myColumn.Properties["AutoIncrement"].Value = isAutoIncrement;
//添加此字段
myTab.Columns.Append(myColumn,ADOX.DataTypeEnum.adInteger,columSize);
return(myColumn);
}
#endregion 结束创建ACCESS数据库
renyu732
2005-07-02
打赏
举报
回复
这个应该很简单的吧?
通过e.item.cells(0).controls(0)这样的方式获得DataGrid数据,然后将其插入到Access中不就可以了吗?
viscoo
2005-07-02
打赏
举报
回复
具体有几个字段用dg的列来判断就ok
viscoo
2005-07-02
打赏
举报
回复
看来我说的不清楚,如果datagrid是通过数据自动生成的列的话,那么dg列和数据列的顺序是一致的,你只要把对应的dg列给对应的字段就可以了所以说是
select* from XXX
ors=ots.rows.newrow
ors(0)=dg.cell(0).……
……
oadp.update(ots)
就一定是行的
yungboy
2005-06-18
打赏
举报
回复
http://www.1sky1.com/edu/n7400c21.shtml
DataGrid技巧大集合
ccghghgj
2005-06-18
打赏
举报
回复
帮忙顶
==============c
csdn小助手
http://qqwwee.com/csdn.rar
9sun888
2005-06-18
打赏
举报
回复
1、使用CREATE TABLE sql语句创建表
2、将DATAGRID与新创建的表绑定
CREATE TABLE 语句
新建一个表。
注释 Microsoft Jet 数据库引擎不支持对非 Microsoft Jet 数据库引擎数据库使用 CREATE PROCEDURE 或者任何 DDL 语句。可以使用 DAO Create 方法代替。
语法
CREATE [TEMPORARY] TABLE table (field1 type [(size)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [index1] [, field2 type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])
CREATE TABLE 语句包含以下部分:
部分 说明
table 要创建的表的名称。
field1,field2 要在新表中创建的字段的名称。必须创建至少一个字段。
type 在新表中 field 的数据类型。
size 以字符为单位的字段大小(仅限于文本和二进制字段)。
index1, index2 CONSTRAINT 子句,用于定义单字段索引。
multifieldindex CONSTRAINT 子句,用于定义多字段索引。
pingdan_yang
2005-06-18
打赏
举报
回复
没用过access,不知道。
viscoo
2005-06-18
打赏
举报
回复
用Select* From XXX Where XXXXX
ors(0)=YYY
ors(1)=YYYYY
....
这样应该可以吧!
[VB.NET]100
分
求助!!!
急
!!!!!!!!!!!!!!!
我基本不太会VB,想问些比较
简单
的
问题
我有三个TEXT控件,程序代码中我把它们存成Text(i)数组.下面是我的读取access数据库student表的内容代码,我想根据这三个Text控件的输入来进行查询,为什么不好用呢,兄弟们...
打开计算机管理显示compmg,
急
,高手
帮帮忙
建议你先用杀毒软件给你的电脑全面杀毒,再用下面的方法
解决
你说的
问题
:先取消系统隐藏文件,1。打开任意文件夹窗口=》工具=》文件夹选项=》查看2。取消隐藏受保护的系统文件前面的钩和显示隐藏文件。然后删除D盘根...
为什么编写c语言程序对了运行不了,用C编写的服务程序,为什么启动不了(
急
)
解决
办法...
当前位置:我的异常网» C语言»用C编写的服务程序,为什么启动不了(
急
)
解决
办法用C编写的服务程序,为什么启动不了(
急
)
解决
办法www.myexceptions.net网友
分
享于:2013-02-23浏览:52次...该怎样
解决
,请各位
帮帮忙
啊...
java 鼠标拖动矩形_拖动鼠标画虚线矩形
希望大家
帮帮忙
!----------------
解决
方案--------------------------------------------------------JS应该好实现----------------
解决
方案-------------------------------------------------...
无线
帮帮忙
笔记本之间如何共享WiFi
但是在很多时候,我们所处的环境中只有一个网络端口,只能供一台电脑进行网络连接,如果身边有一台交换机、路由器或者无线路由器,那么这个
问题
就可以轻松得到
解决
。 但是不知道大家有没有想过,如果你当时...
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章