所以,我的問題非常複雜,很難解釋。 我有一個數據表(SQL)名爲「成員」列「Lengh」。 所以我想,每次我開始程序來檢查是否有Lengh低於當前日期時間和機會列「狀態」過期。它工作正常,如果我只有1行在表中,但如果我有更多它只改變了1行。我該如何改變「Lengh」低於當前日期時間的所有行?SQL Datatable DateTime更新
InitializeComponent();
SqlDataAdapter dt = new SqlDataAdapter("Select Lengh From Members",con);
DataTable adt = new DataTable();
dt.Fill(adt);
DateTime now = DateTime.Now;
DateTime chip = (DateTime)adt.Rows[0][0];
if (now>chip)
{
SqlDataAdapter dt2 = new SqlDataAdapter("Select [Reconizing ID] From Members Where [Lengh]='" + chip + "'", con);
DataTable adt2 = new DataTable();
dt2.Fill(adt2);
string kd = "Update Members Set Status='" + "Expired" + "' Where [Reconizing ID]='" + adt2.Rows[0][0] + "'";
SqlCommand cmd = new SqlCommand(kd,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
如果我做無限循環,程序崩潰之前,它開始。
長度比目前更低的日期?看起來像一個非常奇怪的情況。 – jarlh
它說'Lengh' ...不知道是否有錯字或外語... –
對於海報:您需要使用循環。可能兩個表'adt'和'adt2'都有多行,但總是隻取第一行('adt.Rows [0]'),而第一列('adt.Rows [0] [0]' )。 'adt2'一樣。 –