##SQL Serverのデータベースに接続して、読み込んだ値を変数に格納する文法を記述します。
はじめに、データベースに接続するまでの文。
Service1.svc.cs
public SavedData SetData(int selected_id) //メソッド名 引数には主要キー、返り値にはクラス名
{
const string connStr = @"Data Source=(local);
Initial Catalog= stafflist; Integrated Security=True;";
using (var conn = new SqlConnection(connStr))
{
conn.Open();
var cmd = conn.CreateCommand();
// コネクションからコマンドへ-SqlConnectionに関連付けられているSqlCommandオブジェクトを作成
cmd.Parameters.Add(new SqlParameter("@selected_id", selected_id));
cmd.CommandText = @"SELECT Id,Name,DepartmentId,Sex,JoinedYear,Note
FROM dbo.Staff Where Id = @selected_id ";
ここまででデータベースに接続。以下、データベースから読み込んだ値をクラスのプロパティに代入
Service1.svc.cs
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
int demoid = (int)reader["Id"];
//クラスプロパティ'ID'のデータ型がintの場合は、このように変換
setdata.ID = demoid.ToString();
setdata.NAME = (string)reader["Name"];
setdata.DEPARTMENTID = (int)reader["DepartmentId"];
setdata.SEX = (int)reader["Sex"];
setdata.JOINEDYEAR = (int)reader["JoinedYear"];
setdata.NOTE = (string)reader["Note"];
}
}
}
//メソッドが呼び出されたインスタンス自身を返す
return setdata;
}
これで、この返り値にあてたクラスをインスタンス化して、変数を自由に格納できる。
##追記
編集リクエストをくださった@nogic1008さん、ありがとうございました。