| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1860 人关注过本帖
标题:有没有更快的插入数据记录的方法,这样太慢了....
只看楼主 加入收藏
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
9楼的快了我半分钟
2006-11-14 11:28
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
我真想笑,怎么没有QQ里的那个/CY表情啊。。
能行就行!呵呵

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2006-11-14 11:39
wei0916
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-10-25
收藏
得分:0 
能说一下入口参数吗,我是这样理解的,
dataset DS就是我已经用ODBC查询后的数据集.
strtablename就是被插入的数据库中的某个表.
strConnection 就是被插入数据库的连接;

public DataSetUpdateByDataSet(DataSet ds,string strTblName,string strConnection)
{
SqlConnection conn = new SqlConnection(strConnection)); //这里可能要改为OLECONNECTION吧.因为是ACCESS数据库.

SqlDataAdapter myAdapter = new SqlDataAdapter();
SqlCommand myCommand = new SqlCommand("select * from "+strTblName),(SqlConnection) conn); //请问这里是什么意思呢.???? 这里好像是从STRCONNECTION连接里查询某个表.这样就不对.因为我要从DATASET往另一个OLECONNECTION连接里拷贝记录.
myAdapter.SelectCommand = myCommand;
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);

[此贴子已经被作者于2006-11-14 11:49:04编辑过]


2006-11-14 11:46
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
SqlCommand("select * from "+strTblName),(SqlConnection) conn); //请问这里是什么意思呢.????
(SqlConnection)conn是类型强转,如果conn是SQLCONNECTION的这里可以不必这么做。
ACCESS用OLECONNECTION吧。把一切改成OLE

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2006-11-14 11:50
wei0916
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-10-25
收藏
得分:0 

以下是一个定时器过程,我想每次将一个FOXPRO数据库查询到DATASET里,然后再更新一个CONNECTION连接上的ACCESS数据库,库中的表名为CURRDAYBUSINFO
private void Timer_Scan_Tick(object sender, System.EventArgs e)
{
string PubConnstr,Sqlstr;
Timer_Scan.Enabled = false ;//关闭定时器,以免没有执行完再次进入过程
Txt_Info.Text = "进入扫描过程";
Txt_Info.Refresh();
Timer_Scan.Enabled = false;
QueryCount = QueryCount + 1;
OdbcConnection OdbcConn = new OdbcConnection() ;
OdbcDataAdapter OdbcData = new OdbcDataAdapter();
OdbcCommand OdbcComm = new OdbcCommand();

DataSet TmpDs = new DataSet();
Pathstr = Application.StartupPath ;
PubConnstr = "provider=MSDASQL.1;user id=admin;password=;driver=microsoft visual foxpro driver;sourcedb="+Pathstr+";sourcetype=dbf;Persist Security Info=False";
OdbcConn.ConnectionString = PubConnstr;
OdbcConn.Open();
Txt_Info.Text = "打开数据库正常...";
Txt_Info.Refresh();

Sqlstr = "Select * From Piaolst where days > {^2006-10-10}";
OdbcComm.CommandText = Sqlstr;
OdbcComm.Connection = OdbcConn;
OdbcComm.ExecuteNonQuery();
Txt_Info.Text = "查询数据库正常...";
Txt_Info.Refresh();

OdbcData.SelectCommand = OdbcComm;
OdbcData.Fill(TmpDs,"Piaolst");
Txt_Count.Text = TmpDs.Tables[0].Rows.Count.ToString();
Timer_Scan.Enabled = true;
Txt_Info.Text = "查询次数:"+ QueryCount.ToString();
Txt_Info.Refresh();

//-------------------------------------------------------------------------------------------------
OleDbConnection OleConn = new OleDbConnection();
OleDbDataAdapter OleData = new OleDbDataAdapter();
OleDbCommand OleComm = new OleDbCommand();

OleConn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0;persist security info=false ;data source="+Application.StartupPath+"\\CurrDayBusinfo.mdb";
OleConn.Open();
OleComm.CommandText = "Select * from CurrDayBusinfo";
OleComm.Connection = OleConn;
OleDbCommandBuilder OleBuilder =new OleDbCommandBuilder(OleData);
//----------------------------------------------------------------------------------------
try

{

lock(this) //处理并发情况(分布式情况)

{

OleData.Update(TmpDs,"CurrDayBusinfo");//想通过这里来将TMPDS的数据更新到currdaybusinfo

}

}
catch(Exception err)
{

OleConn.Close();
//throw new BusinessException(err);
}

//-------------------------------------------------------------------------------------------------
Timer_Scan.Enabled = true ;//再次打开定时器,让程序重新进入这个过程,
panel1.Refresh();
OdbcConn.Close();

}


以上程序无效,不能更新TMPDS里的数据到ACCESS数据库CURRDAYBUFINFO里的表CURRDAYBUSINFO


2006-11-14 12:25
wei0916
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-10-25
收藏
得分:0 
没有办法了吗.

2006-11-14 14:12
wei0916
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-10-25
收藏
得分:0 

哪位朋友帮我看看..........


2006-11-15 10:31
快速回复:有没有更快的插入数据记录的方法,这样太慢了....
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048831 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved