DROP TABLE - Errore di sintassi o violazione di accesso

venerdì 26 giugno 2009 - 12.28

ysdemarc Profilo | Expert

Da questo pezzo di codice.. dove sbaglio?

string sql = "DROP TABLE MioDB.dbo.MiaTabella";
string connString = @"Provider=SQLOLEDB.1;Persist Security Info=True;User ID=miauser;Password=miapassword;Initial Catalog=master;Data Source=MIOSERVER\MiaIstanza";

IDbConnection cn = new OleDbConnection(connString);
IDbCommand cm = new OleDbCommand(sql,(OleDbConnection)cn);

DbDataAdapter da = new OleDbDataAdapter((OleDbCommand)cm);

OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
cb.RefreshSchema();

int result = cm.ExecuteNonQuery(); //qui da errore il seguente errore

Errore di sintassi o violazione di accesso.
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForMultpleResults(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()

ciao
Vincenzo
Programmatore sbilenco

Jeremy Profilo | Guru

Ciao Vincenzo.

Deciditi ...usi il command o usi il dataadapter???

Arrivi fino al punto cui sembrerebbe tu voglia fare un da.Fill .... ed invece ... fai cm.ExecuteNonQuery .

Se decidi di lavorare con il dataadapter, devi invocare il metodo Fill passandogli come parametro il dataset/datatable da popolare.

Facci sapere...
Ciao

ysdemarc Profilo | Expert

Ciao..scusa hai ragione..

ho preso il codice da una classettina che mi gestisce gli accessi..e mi è scappato un copia incolla in più..

il dataadapter non c'entra.. quello lo uso solo per popolare i datatable appunto...

in cm.ExcecuteNonQuery (visto che la query non deve restituirmi nulla) ho l'errore ma non riesco a venirne fuori...

se ad esempio faccio la CREATE TABLE tutto fila liscio... ma la DROP TABLE o la TRUNCATE TABLE no.. non capisco perchè

idee?
Vincenzo
Programmatore sbilenco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5