0

更新 2

System.Configuration参照ファイルに追加してエラーを修正しました。私はすでにそれを自分のクラスに追加していましたがusing System.Configuration;
、ここで答えが見つかりました: The name 'ConfigurationManager' does not exist in the current context

それ以上の問題は、新しい質問で対処されます。

元の(っぽい)投稿

Microsoft SQL Server Management Studio があります。スタジオLogbookで、自分のコンピューターにローカルに存在する というデータベースを作成しました。

また、VS C# Express で Windows フォーム アプリケーションを使用してユーザー インターフェイスを作成しました。UI を介してデータベースにエントリを更新、選択、削除、および挿入するために、ログブック データベースに接続したいと考えています。

ただし、2つを接続する方法がわかりません。「新しいデータ ソースの追加」ウィザードを試してみましたが、役に立ちませんでした。また、MSDN やオンラインの他のチュートリアルでも役立つ情報が見つかりません。

アップデート

プロジェクトで誤って何かを壊さないように、これを適切に行う方法がわかるまで、新しいデータベースとプロジェクトを作成しました。
スキーマは次のとおりです。

Student(sid: int, fname: char(10), lname: char(10), age:int, major:char(10))
Course(cid:int, desc:char(50), dept:char(10))
Enrolled(sid:int, cid:int, quarter:char(10), grade:char(10))

「データ ソースの追加」ウィザードによって生成された接続文字列を次に示します。

<add name="boathouseLogConnectionString"
        connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=&quot;C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\boathouseLog.mdf&quot;;Integrated Security=True;Connect Timeout=30;User Instance=True"
        providerName="System.Data.SqlClient" />

データベースをプロジェクトに正常に取得しました。ただし、ストアドプロシージャを実行しようとすると、このエラーが発生しますArgument Exception was unhandled. Format of the initialization string does not conform to specification starting at index 0.

エラーは 2 行目で発生します。

        DataTable dt = new DataTable();
        SqlConnection sqlConn = new SqlConnection(selectedConnectionString);
        SqlCommand myCommand = new SqlCommand("proc_getMember", sqlConn);
        myCommand.CommandType = CommandType.StoredProcedure;
        SqlDataAdapter da = new SqlDataAdapter(myCommand); 

selectedConnectionString変数はに設定されていますboathouseLogConnectionString

4

2 に答える 2

2

最初のヒント

データベースに接続する Windows フォームの例をいくつか見たい場合は、データ ビデオ シリーズよりもフォームをお勧めします。ビデオ 2 は、データベースへの接続方法に関するものです。

app.config ファイルに接続データを入れることができます

<connectionStrings>
    <add name="OrderManager.My.MySettings.OMSConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\OMS.mdf;Integrated Security=True;User Instance=True"
        providerName="System.Data.SqlClient" />
</connectionStrings>

あなたをより良く助けることができるようにするために、私はより多くの詳細を必要としています. 管理スタジオに接続する場合は、接続のプロパティを確認できます。ここでの値などは何ですか。

アップデート

同様の問題に関する別の質問があります。ユーザー インスタンスを実行している可能性があります。詳細を追加してください:

  • 接続文字列に関する情報を追加します(ローカルデータファイルファイル添付接続を使用していると仮定しています)
  • データベースのどこをクリックしますか? mdf ファイルをクリックしていますか、それとも管理スタジオまたはビジュアル スタジオを使用していますか
于 2012-11-03T21:39:05.867 に答える
0

主な方法は2つあり、EntityFrameworkまたはADO.NETFoundationを使用できます。単純なタスクの場合は、ado.net機能を使用できます。最初に、SqlConnectionオブジェクトを作成し、ConnectionStringをコンストラクターに渡す必要があります。次に、SqlCommand Objectを使用して、コマンドに必要なコマンドテキストを設定する必要があります。そして最後に、コマンドを実行する必要があります。実行にはいくつかの方法があります。

  1. ExecuteNonQuery for Updates、Deletes、Insertsコマンド

  2. ExuecuteReader Selectコマンドの場合、このメソッドはSqlDataReaderを返し、そこから結果を取得できます。

于 2012-11-03T22:08:21.443 に答える