У меня есть две таблицы в одной базе данных в SQL Server 2008. Я хочу скопировать содержимое таблицы в другую пустую таблицу с той же схемой, но когда я выполняю операторПроверка C#, если таблица существует в базе данных или нет
OleDbDataAdapter da = new OleDbDataAdapter("select * into dbo.leadmastersnew from dbo.leadmasters", myConnection);
он выдает сообщение об ошибке, указывающее, что таблица уже существует в базе данных.
Я хочу, чтобы, если таблица уже существует, таблица должна быть удалена, поскольку указанный выше SQL-запрос создает таблицу и копирует ее содержимое.
Пожалуйста, предложите
Мой код
private void button5_Click(object sender, EventArgs e)
{
OleDbConnection myConnection = new OleDbConnection("File Name=E:\\Vivek\\ImplementUdl\\ImplementUdl\\new.udl");
try
{
myConnection.Open();
if (myConnection.State == ConnectionState.Open)
MessageBox.Show("Connection opened successfully!");
else
MessageBox.Show("Connection could not be established");
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter("select * into dbo.leadmastersnew from dbo.leadmasters", myConnection);
da.Fill(ds);
MessageBox.Show("Data Copied!!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
myConnection.Close();
}
return;
}
Почему бы вам не использовать временную таблицу вместо реальной? то есть 'dbo. # leadmastersnew'. Он будет виден только в рамках вашего подключения и автоматически опускается при закрытии соединения. –
@ AndyKorneyev Хорошая идея, но как ее реализовать? Я новичок в C# – user2614235
Как я уже упоминал выше - вы должны просто использовать имя таблицы, предшествующее '#', например, 'dbo. # Leadmastersnew'. Кстати, это не функция C#, а сервер sql. –