絶対初心者の質問:WPFでデータセットからデータを読み取るにはどうすればよいですか?私はちょうど2列の列車のスケジュール表を持っており、出発時間を読み、次の列車がいつ出発するかを計算できるようにしたい。たとえば、今は12時29分です。私のアプリケーションは、次の列車が12時33分に出発することを教えてください。DataSetを読み取る
私はすでにGoogleとGoogleのgoogled。私は.NET 3.5です。
おかげ
絶対初心者の質問:WPFでデータセットからデータを読み取るにはどうすればよいですか?私はちょうど2列の列車のスケジュール表を持っており、出発時間を読み、次の列車がいつ出発するかを計算できるようにしたい。たとえば、今は12時29分です。私のアプリケーションは、次の列車が12時33分に出発することを教えてください。DataSetを読み取る
私はすでにGoogleとGoogleのgoogled。私は.NET 3.5です。
おかげ
dsはDataSetがある場合は、のようなもので、最初のテーブルの最初の行のCustomerID列にアクセスすることができます:あなたはできるdatebaseこれがSQL Serverからのものである場合
DataRow dr = ds.Tables[0].Rows[0];
Console.WriteLine(dr["CustomerID"]);
問題のクエリのこの種の... DepartureTime> GETUTCDATE(TrainScheduleから
選択トップ1 DepartureTime)DepartureTime ASCことで 注文
GetDate()も使用できますが、日付の保存方法は不明です。
どのようにデータが保存され、読み取られるかわかりません。
DataSetはデータベースに似ています。 DataTableはデータベーステーブルに似ており、DataRowはテーブルのレコードに似ています。フィルタリングオプションまたはソートオプションを追加する場合は、DataViewオブジェクトを使用して、別のDataTableオブジェクトに変換して戻します。
データベースを使用してデータを格納している場合は、最初にデータベーステーブルをメモリ内のDataSetオブジェクトにロードします。 DataSetに複数のデータベーステーブルをロードして、DataSet〜DataTableオブジェクトから読み取る特定のテーブルを選択することができます。その後、DataTableからDataRowの特定の行のデータを読み取ります。以下のコードは、手順を示します
SqlCeDataAdapter da = new SqlCeDataAdapter();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
da.SelectCommand = new SqlCommand(@"SELECT * FROM FooTable", connString);
da.Fill(ds, "FooTable");
dt = ds.Tables["FooTable"];
foreach (DataRow dr in dt.Rows)
{
MessageBox.Show(dr["Column1"].ToString());
}
行で特定のセルを読み取るには:
int rowNum // row number
string columnName = "DepartureTime"; // database table column name
dt.Rows[rowNum][columnName].ToString();
データセットがデータベースからアクセスされたデータのコピーであり、それでもにデータベースを必要としませんまったく使用しないでください。しかし、それが好ましい。
新しいアプリケーションを作成する場合は、DataSetが優先されないため、Entity FrameworkやNHibernateなどのORMの使用を検討してください。しかし、彼らはまだサポートされていて、私が言うことができる限り、すぐに逃げることはありません。
標準データセットから読んでいるなら、@ KMCの答えはあなたが探しているものです。ただし、これを行う適切な方法は、強力な型指定のデータセットを作成し、それを使用してIntellisenseを利用できるようにすることです。 Entity Frameworkを使用していないと仮定して、続行します。
プロジェクトやApp_Dataフォルダなど、データアクセスレイヤに専用のスペースがない場合は、今すぐ作成することをお勧めします。それ以外の場合は、データプロジェクトフォルダの下で次のように実行します。 追加>新しい項目の追加>データセット。作成されるファイルの拡張子は.xsdになります。
次に、DataTableを作成する必要があります。 DataTableを作成します(ファイルをクリックし、デザインウィンドウを右クリックします。拡張子は.xsdです)。「追加」>「DataTable」をクリックします。いくつかの列を作成します(作成したデータテーブルを右クリック>追加>列)。最後に、データにアクセスするためのテーブルアダプタが必要です。データセットで参照されるデータにアクセスするには、データベースへの接続をセットアップする必要があります。
作業が完了したら、プロジェクト内のデータセット(ステートメントを使用)を正常に参照した後、IntellisenseでDataSetにアクセスできます。これは、型指定されていないデータセットよりもはるかに簡単です。
可能であれば、型の指定されていないデータセットではなく、厳密に型指定されたデータセットを使用します。作成する作業が増えても、後でインテリセンスで多くの時間を節約できます。上記の例では、あなたの、厳密に型指定されたDataSetがNextTrainDepartureTimeという名前のDateTime型の列を持っていることを前提としてい
MyStronglyTypedDataSet trainDataSet = new MyStronglyTypedDataSet();
DataAdapterForThisDataSet dataAdapter = new DataAdapterForThisDataSet();
//code to fill the dataset
//omitted - you'll have to either use the wizard to create data fill/retrieval
//methods or you'll use your own custom classes to fill the dataset.
if(trainDataSet.NextTrainDepartureTime > CurrentTime){
trainDataSet.QueueNextTrain = true; //assumes QueueNextTrain is in your Strongly-Typed dataset
}
else
//do some other work
:あなたのような何かを行うことができます。希望が助けてくれる!
ここでの主な質問は次のとおりです。このデータセットをどこで読んでいますか?コードですか? XAMLで?データグリッドでは?リストビューで? – Damascus
回答があなたの質問に答えた場合は、それを受け入れられた回答としてマークする必要があります。 – reggaeguitar