1

私は C# が初めてで、チュートリアルに従って学習しています。

Database1.sdfプロジェクトで [新しい項目の追加] をクリックして、1 つのテーブルといくつかの列を持つSQL Server データベース ( ) を作成しました。

    SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=??????;Integrated Security=True;Connect Timeout=30;User Instance=True");
    DataTable dt = new DataTable();
    SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM Database1 WHERE Titel like " + int.Parse(textBox1.Text), conn);
    SDA.Fill(dt);
    dataGridView1.DataSource = dt;

ご覧の通り「???」一部は私が立ち往生している場所です。データベースのパスを使用してみました

C:\Users\1\Documents\Visual Studio 2010\Projects\Opdracht0\Opdracht0\Database1.sdf

しかし、それは機能していません。実行すると、次のようになります。

入力文字列は、正しい形式ではありませんでした。

この行は赤です:

SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM Database1 WHERE Titel like" + int.Parse(textBox1.Text), conn);

ご覧のとおり、これは単純な SQL ステートメントですが、それでも機能しません。

どんなヒントでも大歓迎です!

4

3 に答える 3

1

主な問題は、互換性のない2つのタイプのデータベースを混在させていることです。

  • database1.sdfファイルはSQLServerCompactEditionデータベースファイルです

  • ただし、本格的なSQL Server(Express)バージョンで使用されており、SQLServerCompactとは互換性がありSqlConnectionませんSqlCommand

だからあなたはどちらかをする必要があります

  • SQL Server Compactデータベースを引き続き使用します(database1.sdf)-ただし、その場合は、SqlCeConnectionおよびSqlCeCommandおよびこれらのコマンドを使用する必要があります

またはその後:

  • 実際のSQLServer(Express、Standard、Enterprise)に切り替えると、次のコマンドを使用できますSqlConnectionSqlCommand
于 2013-03-12T21:32:41.780 に答える
0

C#.NET から MS SQL Server データベースに接続するには、以下のような接続文字列を作成する必要があります。

private SqlConnection connection;
private string connectionString =
@"Server=(local);Database=Embedding_SQL_Test;User ID=sa;Password=123";
connection = new SqlConnection( connectionString );

次に、上で作成した SqlConnection オブジェクトを使用して、以下に示すように「SqlCommand」を作成します。

SqlCommand cmd = new SqlCommand( "select * from Customer where CustomerID = @Cid", connection);

ここに示す SQL クエリは、SELECT、INSERT、UPDATE クエリなどに置き換えることができます。

次に、データベースで SQL クエリを実行するには、次の方法を使用します。

ExecuteReader - to execute SELECT queries
ExecuteNonQuery - to execute INSERT, DELETE, UPDATE, and SET statements.

これは、C# から SQL Server データベースに接続し、データベースで SQL クエリを実行する方法の非常に短い説明です。接続文字列、メソッド、およびそれらのパラメーターの詳細については、次のリンクを確認してください。パラメータを SQL クエリに渡したり、ストアド プロシージャを呼び出したりします。

于 2013-03-13T12:37:52.677 に答える
0

これが私がそれについて行く方法です。MSDNにアクセスしSqlConnectionて、検索ボックスに入力します。少し調べた後 (私のお気に入りの接続文字列の例をディープ 6 したため)、次のような例を含む次のようなものを見つけました。

Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local)

Data Source=MSSQL1;Initial Catalog=AdventureWorks;Integrated Security=true;

通常、サーバー名はコンピュータ名と同じですが、SQL Express ではこれが異なる場合があります。または、(local)ここで働くかもしれません。これらの接続文字列は、ユーザーの Windows 資格情報を使用して SQL Server にログインします。Web アプリケーションの場合、実際のユーザーは、偽装が使用されているかどうかなどによって異なります (また、接続文字列を web.config に入れて、アプリを再コンパイルせずに更新できるようにする必要があります。これが Web アプリの場合)。

とにかく、これがうまくいかない場合は、同じ検索戦略を使用して、MSDN または Google で他の接続文字列の例を見つけることができます。

于 2013-03-12T19:00:07.513 に答える