当前位置: 首页 > 编程语言 > C#

获取ODBC表并插入到SQLServerCE数据库中分享

时间:2023-04-10 23:58:06 C#

获取ODBC表并插入到SQLServerCE数据库中我有一个到数据库的ODBC连接,我需要一个数据表。该表大约有20行,以及数千行数据。我计划将此表插入到我的本地SQLServerCE数据库中,以便我进一步使用它。两个连接都经过测试并且可以正常工作。我的尝试只是插入一列以保持简单(我是C#、编程和stackoverflow的新手)。OdbcConnectionc=newOdbcConnection(ConnectionString1);SqlCeConnectiond=newSqlCeConnection(ConnectionString2);c.打开();d.打开();stringsqlC="SELECT*FROMODBCTABLEWHEREODBCCOLUMN='12345'";OdbcCommandcommandC=newOdbcCommand(sqlC,c);stringsqlD="INSERTINTOSQLCETABLE(SQLCECOLUMN)VALUES(@sql)";SqlCeCommandcommandD=newSqlCeCommand(sqlD,d);OdbcDataReaderreader=commandC.ExecuteReader();while(reader.Read()){stringx=reader[0].ToString();commandD.Parameters.Add("@sql",SqlDbType.NVarChar,5).Value=x;commandD.ExecuteNonQuery();}c.关闭();c.处置();d.关闭();d.处置();我收到错误ThisSqlCeParameterCollectionalreadycontainsaSqlCeParameterwiththisname。为什么这是错误的?有没有办法来解决这个问题?有没有更好的方法来进行这种转移?(我相信sqlbulktransfer对于odbc不存在)作为我在Stackoverflow上的第一篇文章,我是否正确地发布了一个问题?更改这部分代码commandD.Parameters.Add("@sql",SqlDbType.NVarChar,5);while(reader.Read()){stringx=reader[0].ToString();commandD.Parameters["@sql"].Value=x;commandD.ExecuteNonQuery();}出现问题是因为在每个循环中你重复向集合中添加相同的命名参数,导致上述错误。将参数的创建移到循环外并仅更新循环内的值应该可以修复错误。是的,我认为您已正确发布问题。以上就是C#学习教程:检索ODBC表并插入到SQLServerCE数据库中的全部内容分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: