14

という名前のテーブルを使用して、Visual StudioDatabase1.mdfのフォルダーにという名前の SQL Server データベースを作成したとします。App_DataNames

C# を使用してテーブルの値を読み取るための接続を確立するにはどうすればよいですか?

これまでのところ、次のようなことを試しました。

SqlConnection conn = new SqlConnection("Server=localhost;Database=Database1;");

conn.Open();

// create a SqlCommand object for this connection
SqlCommand command = conn.CreateCommand();
command.CommandText = "Select * from Names";

しかし、私はエラーが発生します:

データベースが見つからない/データベースへの接続エラー

4

7 に答える 7

15

( Data SourceVisual Studio の左側) でデータベースを右クリックし、次にConfigure Data Source With Wizard. 新しいウィンドウが表示され、接続文字列を展開すると、そこに接続文字列が表示されます

于 2012-08-31T18:40:30.410 に答える
8

SQL 認証を使用する場合は、次を使用します。

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection();
conn.ConnectionString = 
     "Data Source=.\SQLExpress;" + 
     "User Instance=true;" + 
     "User Id=UserName;" + 
     "Password=Secret;" + 
     "AttachDbFilename=|DataDirectory|Database1.mdf;"
conn.Open();

Windows 認証を使用する場合は、次を使用します。

using System.Data.SqlClient;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = 
     "Data Source=.\SQLExpress;" + 
     "User Instance=true;" + 
     "Integrated Security=true;" + 
     "AttachDbFilename=|DataDirectory|Database1.mdf;"
conn.Open();
于 2012-08-31T23:08:19.280 に答える
4

SQL Server Express を使用している場合は、変更します

SqlConnection conn = new SqlConnection("Server=localhost;" 
       + "Database=Database1;");

SqlConnection conn = new SqlConnection("Server=localhost\SQLExpress;" 
       + "Database=Database1;");

それ以外にも、 http://www.connectionstrings.com/で何百もの接続文字列を見つけることができます。

于 2012-08-31T18:40:30.300 に答える
4
SqlConnection c = new SqlConnection(@"Data Source=localhost; 
                           Initial Catalog=Northwind; Integrated Security=True");
于 2013-01-11T18:18:25.250 に答える
3

この文字列接続で試してください

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|Database1.mdf;Database=dbname; Trusted_Connection=Yes;
于 2012-08-31T18:38:53.983 に答える
2

ここで概説した便利なプロセスを使用して、.udl ファイルを使用して接続文字列を作成するのが好きです。これにより、udl ファイル内からそれらをテストして、コードを実行する前に接続できることを確認できます。

それが役立つことを願っています。

于 2012-08-31T18:43:17.010 に答える