文字列 ConnStr = " データソース= .;初期カタログ= ADO_DEMO;統合セキュリティ=真" ; #regionのSqlConnectionを使用 する@ ステップ:新しいSqlConnectionオブジェクト のSqlConnection sqlConn = 新しい新しいSqlConnectionオブジェクト(); //は、接続文字列SqlConnectionオブジェクトに設定 SqlConn.ConnectionString = ConnStrを。 // データセットまたはDataTableの場合は、データベースを開くことができない、またはデータベース開く必要があり SqlConn.Openを(); #endregionを #regionの追加、削除、変更操作するSqlCommandオブジェクト // 新しいSqlCommandオブジェクト SqlCommandオブジェクトCMD = 新しい新しいSqlCommandオブジェクト(); // 設定された接続SqlCommandオブジェクト属性、即ち:SqlConn(SqlConnectionオブジェクトタイプ) cmd.Connection = sqlConn。 // 実装のINSERT / UPDATE / SQL文を削除した場合、直接のCommandTextプロパティを提供することができる // ストアドプロシージャが実行された場合、属性がCommandTypeをCommandType.StoredProcedureに設定されている必要があり cmd.CommandText = " INSERT INTO Ex_Class VALUES(『1707A』、 19)" ; // 接続とCommandTextプロパティプロパティを設定した後、直接SQL文を実行することができ // cmd.ExecuteNonQueryを(); // 実行は、データベースを閉じ、リソースを解放するために完了した後で )(SqlConn.Closeを。 SqlConn.Dispose(); #endregion #regionは、(レコードセット)データを得るために、SqlDataReaderのSqlCommandオブジェクトとオブジェクトを使用して // 接続が開いていないかどうかを決定する、データベースを開くために、閉じられる IF(SqlConn.State == ConnectionState.Closed) { SqlConn.ConnectionString = ConnStr。 SqlConn.Open(); } // 新しいSqlCommandオブジェクトのオブジェクト SqlCommandオブジェクトのcmd_select = 新しい新しいSqlCommandオブジェクト(); // 設定された接続SqlCommandオブジェクト属性、即ち:SqlConn(SqlConnectionオブジェクトタイプ) cmd_select.Connection = sqlConn。 // あなたは直接のCommandTextプロパティを設定することができますINSERT / UPDATE / DELETE SQL文を実行している場合 // ストアドプロシージャを実行している場合、あなたはCommandType.StoredProcedureにCommandTypeプロパティを設定しなければならない = cmd_select.CommandText 「SELECT * Ex_Class FROM 」を。 // 呼び出しExecuteReaderメソッドレコードが返され、SqlDataReaderオブジェクトによって受信され、 SqlDataReaderのSDR = cmd_select.ExecuteReader()。 // 1つのレコードのみがSqlDataReaderのが返された場合、以下の方法を取得するために使用することができ、 IF (sdr.Read()) { 文字列クラス名= SDR [ " クラス名" ] .ToString(); INT ClassCount = Convert.ToInt32(SDR [ " ClassCount " ])。 Response.Writeを(文字列 .Format(" SqlDataReaderの返回一条记录:クラス名:{0} ClassCount:{1} <br>ログイン" 、クラス名、ClassCount))。 } // SqlDataReaderの複数のレコードが返された場合、以下のメソッドがレコードを取得するために使用され、一連の格納することができます 一覧<モデル> = DataListの新しい新しいリスト<モデル> (); しばらく(sdr.Read()) { モデルM = 新モデル()。 m.ClassName = SDR [ " クラス名" ] .ToString(); m.ClassCount = Convert.ToInt32(SDR [ " ClassCount " ])。 DataList.Add(M)。 } // :その後のようなデータセットを使用することができる foreachの(VARの P におけるデータリスト) { Response.Writeを(文字列 .Format(" SqlDataReaderの返回多条记录:クラス名:{0} ClassCount:{1} <br>ログイン" 、p.ClassName、p.ClassCount))。 } // 使用後に閉じて、情報をリリースするSqlDataReaderのを注意してください )(sdr.Closeを。 sdr.Dispose(); SqlConn.Close(); SqlConn.Dispose(); #endregion #region DataTableオブジェクトの取得データ(レコードセット)を使用して、 / * 注:記録データテーブルは、データベースを開くことなく、取得された場合、すなわち、オープン()* / SqlConn.ConnectionString = ConnStr。 // 新しいSqlCommandオブジェクトは = cmd_datatable SqlCommandオブジェクトの新しい新しいSqlCommandオブジェクトを(); // 設定された接続SqlCommandオブジェクト属性、即ち:SqlConn(SqlConnectionオブジェクトタイプ) cmd_datatable.Connection = sqlConn。 // あなたは直接のCommandTextプロパティを設定することができますINSERT / UPDATE / DELETE SQL文を実行している場合 // ストアドプロシージャを実行している場合、あなたはCommandType.StoredProcedureにCommandTypeプロパティを設定しなければならない = cmd_datatable.CommandText 「SELECT * Ex_Class FROM 」を。 // SqlDataAdapterオブジェクトを作成し、パディングデータがデータテーブルに使用される のSqlDataAdapter SDA = 新しい新しいSqlDataAdapterオブジェクト(); // 設定SqlDataAdapterオブジェクトに対応するSqlCommandオブジェクト sda.SelectCommand = cmd_datatable。 // SqlDataAdapterオブジェクト上でデータ伝送を受信するため、データテーブルオブジェクトを作成し、オブジェクト データテーブルDT = 新しい新しいデータテーブル()と、 // 塗りつぶしSqlDataAdapterオブジェクトのメソッド呼び出し、データテーブル移入するデータ sda.Fill(dt)を、 // 次に、データは、最初の行の値を取得するように、データテーブルで使用することができる: 文字列 MyClassName = Convert.ToString(dt.Rows [ 0 ] [ " クラス名" ]); int型 MyClassCount = Convert.ToInt32(dt.Rows [ 0 ] [ " ClassCount " ])。 Response.Writeを(文字列 .Format(" データテーブル戻りレコード:クラス名:ClassCount {0}:{} <br>ページ1 " 、MyClassName、MyClassCount))。 //は、データを介して使用することが可能でデータテーブルforeachの 一覧<モデル> = DLIST 新しい新しいリスト<モデル> (); foreachの(DRのDataRow でdt.Rows) { モデルのObj = 新モデル(); Obj.ClassName = Convert.ToString(DR [ " クラス名" ])。 Obj.ClassCount = Convert.ToInt32(DR [ " ClassCount " ])。 DList.Add(OBJの); // 直接出力値 のResponse.Write(文字列 .Format(" データテーブルは、複数のレコードを返す:クラス名:ClassCount {0}:{} <br>ログイン1。"、DR [ " クラス名" ]、DR [ " ClassCount " ]))。 } // DataTableに、上記の手動変換を添加した戻り値の型の一覧場合は、以下の方法を使用することができる // 注:Newtonsoft.Jsonを使用して名前空間を導入する必要性を // ステップ:DataTableの文字列にデータベース配列 のvar JSON = JsonConvert.SerializeObject(DT); 一覧 <モデル> NewList = 新しいリスト<モデル> (); // ステップ:直列化された文字列は、Listオブジェクトをデシリアライズ NewList JsonConvert.DeserializeObject = <リスト<>>モデル(JSON); #endregion #regionは、ストアドプロシージャを呼び出すためにSqlCommandオブジェクトを使用して IF(SqlConn.State == ConnectionState.Closed) { SqlConn.ConnectionString = ConnStr。 SqlConn.Open(); } // 新しいSqlCommandオブジェクトは、 CMD_PROC = SqlCommandオブジェクト新新)(SqlCommandオブジェクトを。 // 設定された接続SqlCommandオブジェクト属性、即ち:SqlConn(SqlConnectionオブジェクトタイプ) cmd_proc.Connection = sqlConn。 // SqlCommandオブジェクトは、ストアドプロシージャを実行する場合は、SqlCommandオブジェクトCommandTypeをCommandType.StoredProcedureに設定する必要がある cmd_proc.CommandType = CommandType.StoredProcedureと、 // というストアド・プロシージャのSqlCommandオブジェクトの名前を設定し cmd_proc.CommandText = 「PROC_Ex_Classを」。 // 必要なパラメータは、ストアドプロシージャを設定 // 直接割り当ては、入力パラメータ、出力パラメータを必要とする、または戻り値がある場合、唯一のパラメータの方向性を設定する必要がある場合 SqlParameterのsql_parm1 = 新しい新しい SqlParameter(「@ClassName 」、SqlDbType.NVarChar、50 ); // 入力されたパラメータの設定値 sql_parm1.Value = 「1909B 」。 // パラメータは、SqlCommandオブジェクトのParametersコレクションに追加 cmd_proc.Parameters.Add(sql_parm1を)。 // 第二パラメータ SqlParameterのsql_parm2 = 新しい新しい SqlParameter(" @ClassCount "、SqlDbType.NVarChar、50 )。 // 入力されたパラメータの設定値 sql_parm2.Value = 10 。 // パラメータは、SqlCommandオブジェクトのParametersコレクションに追加 cmd_proc.Parameters.Add(sql_parm2を)。 // 第三のパラメータ:の値は設定せず、出力パラメータDirectionプロパティを設定 = SqlParameterのsql_parm3 新しい新しい SqlParameter(「@Info 」、SqlDbType.NVarChar、100 )。 sql_parm3.Direction = ParameterDirection.Output。 cmd_proc.Parameters.Add(sql_parm3)。 // 最初の4つのパラメータ:ストレージ・リターンを設定する方向の値を設定することなく、属性値 = SqlParameterのsql_parm4 新しい新しい SqlParameter(「@ReturnVal 」、SqlDbType.NVarChar、100 )。 sql_parm4.Direction = ParameterDirection.ReturnValue。 cmd_proc.Parameters.Add(sql_parm4)。 // ストアドプロシージャの実行、SqlCommandオブジェクトのExecuteNonQueryメソッドを呼び出し cmd_proc.ExecuteNonQueryを(); // ストアドプロシージャが完了すると、出力パラメータと戻り値が自動的に割り当てられたパラメータ // これは、プロシージャの出力パラメータである 文字列情報= Convert.ToString(sql_parm3.Value)。 // この値を返す手続き記憶されている INT ReturnVal = Convert.ToInt32(sql_parm4.Value)を、 // 我々出力でき両者の結果 のResponse.Write(文字列 .Format(" ストアドプロシージャの実行結果:出力パラメータ:{0}、戻り値:{} 1 " 、情報、ReturnVal)); #endregion