插入到SQL Server中的另一个数据库表中进行选择

时间:2018-12-22 13:48:51

标签: sql sql-server wpf visual-studio

在尝试将数据库表中的记录插入到另一个数据库表中时遇到问题,我想知道当我有与两个数据库相关的两个不同的连接字符串时,如何用一个连接字符串执行查询,我的代码如下所示

Friendly

我收到此错误消息:

  

无效的对象名称'Database1.Caisse'。

我正在使用Visual Studio WPF作为IDE

4 个答案:

答案 0 :(得分:0)

尝试一下:

insert.CommandText = "insert into Caisse ([N° Caisse], [Date d'Ouverture], [Date de Clôture], [Fond de Caisse], [Vendeur]) select * from Database1.dbo.Caisse x where x.[N° Caisse] = @Réf";

还有另一种可能适用的 dirty 解决方案:

insert.CommandText = "use Archive; create table ##TempTb (a int,b datetime, c datetime, d money, e int); insert into ##TempTb select ([N° Caisse], [Date d'Ouverture], [Date de Clôture], [Fond de Caisse], [Vendeur]) from Caisse where [N° Caisse] = @Réf; Use Database1; insert into Caisse ([N° Caisse], [Date d'Ouverture], [Date de Clôture], [Fond de Caisse], [Vendeur]) select * from ##TempTb;";

答案 1 :(得分:0)

尝试一下:

insert.CommandText = "INSERT INTO Caisse([N° Caisse],[Date d'Ouverture],[Date de Clôture],[Fond de Caisse],[Vendeur]) SELECT [N° Caisse],[Date d'Ouverture],[Date de Clôture],[Fond de Caisse],[Vendeur] FROM Database1.Caisse WHERE Databse1.Caisse.[N° Caisse]=@Réf";

答案 2 :(得分:0)

怎么样

insert.CommandText = "INSERT INTO CurrentDatabase.CurrentSchema.Caisse([N° Caisse],[Date d'Ouverture],[Date de Clôture],[Fond de Caisse],[Vendeur]) SELECT * FROM Database1.Schema.Caisse WHERE Databse1.Schema.Caisse.[N° Caisse]=@Réf"
  • CurrentDatabase.CurrentSchema.Caisse是目标表。

  • Database1.Schema.Caisse是源表

请注意,对于SELECT语句,最好使用列名而不是*,但是如果SELECT *返回的列与目标表相同,则可以使用。

但是,您可能会检查连接,因为我认为您只是连接到Archive数据库。在这种情况下,您需要连接到两个数据库,从Dabase1.Caisse获取数据,然后将其插入到Archive.Caisse表中。

答案 3 :(得分:0)

我终于找到了答案,可以通过以下方式完成:

Push failed: Failed with error: unable to access `'https://github.com/yourLogin/yourProject.git/': The requested URL returned error: 403`

可以使用SqlConnection.Database属性访问目标数据库。