0

Hey I just started learning to make application in C# using back-end as sql. I put some breakpoints to see that the control never comes back after executing the cntCeilInn.Open(); soon, the output window shows 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

Google tells me its not timing out or something that I couldn't understand. Some help please.

string strServerName="EXPRESSION";

using (SqlConnection cntCeilInn = new SqlConnection("Data Source=" + strServerName + ";" + "Integrated Security=YES"))
{
    SqlCommand cmdCeilInn= new SqlCommand("If exists ("+ "Select name "+ "from sys.database "+ "Where name=N'CeilInn1')"+ "DROP database CeilInn1;"+ "go"+ "create database CeilInn1;", cntCeilInn);
    cntCeilInn.Open();
    cmdCeilInn.ExecuteNonQuery();
}
4

2 に答える 2

1

connectionStringパラメーターとして、次を使用する必要があります。

Data Source=yourServerName;Initial Catalog=yourDatabaseName;Integrated Security=True

必ず適切なデータで変更youServerNameしてください。yourDatabaseName

connectionString( Initial Catalog)にデータベース名を設定するのを忘れており、IntegratedSecurityの値はTrueであることに注意してください。

于 2013-01-17T06:24:44.603 に答える
0

SQLクエリにはいくつかの間違いがあります。

  1. そうでsys.databasesはありませんsys.database

  2. GoCreate構文 の間にスペースはありません

  3. SQLステートメントを別の行に配置する必要があります

  4. 言うまでもなくconnection string、他の人が述べているように一度チェックしてください

これを試してみてください

SqlCommand cmdCeilInn = new SqlCommand("If exists (" + "Select name " + "from sys.databases " + "Where name=N'Sample') DROP database Sample;" 
                      +Environment .NewLine+ "go " + Environment .NewLine 
                     +" create database Sample;", cntCeilInn);
于 2013-01-17T06:40:49.517 に答える