C# insert into from select [FIXED]
Привет,
Я ищу решение для запроса в 3 нескольких базах данных.
(1) Сначала я усеку таблицу Один в базе данных Один
(2) тогда я удалю таблицу Б из базы данных Б
(3) Следующий шаг-вставка в базу данных Б с Выбор из базы данных С
(4) затем обновите базу данных Один
(5) и последний шаг-вставить все данные из базы данных Один в базу данных С
код SQL
TRUNCATE TABLE BB.dbo.Credentials -- (1) DELETE FROM CA.dbo.Badge WHERE UserField1 = 'CABB' -- (2) INSERT INTO BB.dbo.Credentials (3) (id,Badge,firstname,middlename,lastname,createddatetime) SELECT u.ID, w.VALUE, u.FIRSTNAME, u.MIDDLENAME, u.LASTNAME, w.CREATEDDATETIME FROM MM.dbo.User_ u INNER JOIN MM.dbo.WiegandUserValue w ON u.ID = w.OWNERID UPDATE BB.dbo.Credentials (4) SET enabled = 1, resident = 1, initload = 1, accgrp = 1, facility = 0, userfield1 = 'CABB', record = 1, val1 = 0, val3 = 0, val4 = 0, val5 = 0 INSERT INTO CA.dbo.Badge (5)(FrstName,Middlename,Lastname,Badge,Enabled,Resident,InitLoad,AGroup1,Facility,UserField1) SELECT firstname,middlename,lastname,value,enabled,resident,initload,accgrp,facility,userfield1 FROM cabb.dbo.Credentials
код c#
public void SQLQuery1() { SqlConnection sc = new SqlConnection(GetConnectionStringBiobridge()); sc.Open(); string query = string.Format("TRUNCATE TABLE BioBridge.dbo.Credentials"); sc.Close(); } public void SQLQuery2() { SqlConnection sc = new SqlConnection(GetConnectionStringCardAccess()); sc.Open(); string query = string.Format("DELETE FROM ca211LiveDB05242017_1213013.dbo.Badge WHERE UserField1 = 'CABB'"); sc.Close(); } public void SQLQuery3() { SqlConnection sc = new SqlConnection(GetConnectionStringBiobridge()); sc.Open(); string query = string.Format("INSERT INTO BioBridge.dbo.Credentials (id,value,firstname,middlename,lastname,createddatetime) " + "SELECT u.ID, w.VALUE, u.FIRSTNAME, u.MIDDLENAME, u.LASTNAME, w.CREATEDDATETIME FROM MorphoManager.dbo.User_ u " + "INNER JOIN MorphoManager.dbo.WiegandUserValue w ON u.ID = w.OWNERID"); sc.Close(); } public void SQLQuery4() { SqlConnection sc = new SqlConnection(GetConnectionStringBiobridge()); sc.Open(); string query = string.Format("UPDATE Biobridge.dbo.Credentials SET enabled = 1, resident = 1, initload = 1, accgrp = 1, facility = 0, userfield1 = 'CABB', record = 1, val1 = 0, val3 = 0, val4 = 0, val5 = 0"); sc.Close(); } public void SQLQuery5() { SqlConnection sc = new SqlConnection(GetConnectionStringCardAccess()); sc.Open(); string query = string.Format("INSERT INTO ca211LiveDB05242017_1213013.dbo.Badge (FrstName,Middlename,Lastname,Badge,Enabled,Resident,InitLoad,AGroup1,Facility,UserField1) " + "SELECT firstname, middlename, lastname, value, enabled, resident, initload, accgrp, facility, userfield1 FROM BioBridge.dbo.Credentials"); sc.Close(); } private void btnInsert_Click(object sender, EventArgs e) { SQLQuery1(); SQLQuery2(); SQLQuery3(); SQLQuery4(); SQLQuery5(); }
Что я уже пробовал:
Когда я делаю это вручную в SQL Management Studio, это работает, но когда я делаю это в C# с помощью button_click, это не работает. Когда я создам messagebox. show и нажму на кнопку, появится messagebox.
Кто-нибудь знает, что я делаю не так?
Заранее спасибо!
RickZeeland
Мы не можем сказать, если вы не покажете код !
Rob¡nUters
У меня есть добавить код по этому вопросу
OriginalGriff
Не видя кода, который вы пробовали-а не только SQL, который вы (предположительно) вставили в код, - мы находимся в таком же неведении, как и вы.
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.
Rob¡nUters
Я добавил код по этому вопросу. Спасибо! :-)
PIEBALDconsult
Где вы выполняете SQL-операторы?
Rob¡nUters
В кнопке ниже в коде de c#
PIEBALDconsult
Думаешь?
Rob¡nUters
Я ссылаюсь на SQLQuery с помощью SQLQuery1(); SQLQuery2 (); и так далее
PIEBALDconsult
..- которые нигде не исполняются?
Rob¡nUters
Ах, я вижу cmd. executereader, который мне нужно добавить в код, не так ли?
PIEBALDconsult
Или ExecuteNonquery, либо должен работать.
Rob¡nUters
Теперь он сделает больше, он разобьется первым же исполнителем, ха-ха.
Rob¡nUters
Найти ее :-) Спасибо за вашу прессу в правильном направлении! :-)
ZurdoDev
Опубликуйте как решение, Пожалуйста.