従業員情報を含む従業員テーブルと、従業員の電話番号を含む連絡先詳細テーブルがあります。従業員は2つ以上の電話番号を持っています。
今、従業員情報を表示するために、私はデータグリッドを持っています。私がやりたいのは、データグリッドの従業員情報と一緒に最初の2つの数字を表示することです。
次の方法を使用してデータグリッドを埋めます
public static void SignUpControllerDay(DateTime Date, System.Windows.Forms.DataGridView PassedGrid)
{
string sql_SignUp = String.Format(@"SELECT e.Emp_ID as Emp_ID,
e.First_Name+ ' ' +e.Last_Name as Name,
sum(o.Quantity) as Sum
FROM Employee e,OT_hours o,Position p,Signup_Sheet s
WHERE e.Emp_ID=o.Emp_ID
and e.Emp_ID = s.Employee_ID
and s.Day_Shift = 1
and e.Position_ID = p.Position_ID
and p.Position_Name = 'Controller'
and o.Quantity NOT IN(0.3)
and s.Date = '{0}'
and o.Date <= CONVERT(VARCHAR,'{0}',101) AND o.Date > CONVERT(VARCHAR,DATEADD(YYYY,-1,'{0}'),101)
GROUP BY e.Emp_ID,e.First_Name+' '+e.Last_Name,p.Position_Name
ORDER BY Sum", Date);
SqlConnection sqlConn = null;
SqlCommand cmd_SignUp;
SqlDataReader dr_SignUp;
try
{
sqlConn = new SqlConnection(databaseConnectionString);
sqlConn.Open();
cmd_SignUp = new SqlCommand(sql_SignUp, sqlConn);
dr_SignUp = cmd_SignUp.ExecuteReader();
while (dr_SignUp.Read())
{
PassedGrid.Rows.Add(dr_SignUp["Emp_ID"].ToString(), dr_SignUp["Name"].ToString(), dr_SignUp["Sum"].ToString());
}
}
catch (Exception e)
{
MessageBox.Show("Error found in SignUpControllerDay..." + Environment.NewLine + e.ToString());
}
finally
{
if (sqlConn != null)
{
sqlConn.Close();
}
}
}
上記のメソッドは、従業員のempid、name、sumを表示します。私がやりたいのは、contact_detailsテーブルから任意の2つの電話番号を表示することです。データリーダーを使用して従業員IDに基づいて電話番号を取得しようとしましたが、機能しませんでした。
助けてください....