这个程序使用fileds没有数据网格。我正在努力的事情,或者你可以说我想纠正这个功能就是这个。
如果用户输入ID" 1234"并且此数据已存在于SQL数据库中而不是程序崩溃或异常中,显示数据已存在的弹出警报。
提交的年份是一个组合框而不是文本框,我们可以在下拉列表中查看年份,如果用户选择ID" 1234"并选择2016年,只有相应的金额应出现在金额文本框中,或者如果有其他年份可以选择此金额并检查该用户ID。 该程序正在列出但未正确显示年份,我的代码如下: -
private void btnSearch_Click(object sender, EventArgs e)
{
cmbYear.Items.Clear();
string sql = "";
con.Open();
SqlCommand cmd = new SqlCommand();
try
{
sql += "SELECT m.MemberId, m.Name, m.Address, m.Cellular, m.Email, p.PaymentId, p.Year, p.Amount from Members as m";
sql += " INNER JOIN Payments as p ON m.MemberId = p.MemberId";
sql += " WHERE m.MemberId = '" + tbID.Text + "' ORDER BY p.Year ASC";
cmd.Connection = con;
cmd.CommandText = sql;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
if(dt.Rows.Count >0)
{
for(int i = 0; i<=dt.Rows.Count -1;i++)
{
tbID.Text = dt.Rows[i]["MemberId"].ToString();
tbName.Text = dt.Rows[i]["Name"].ToString();
tbCellular.Text = dt.Rows[i]["Cellular"].ToString();
tbEmail.Text = dt.Rows[i]["Email"].ToString();
tbAddress.Text = dt.Rows[i]["Address"].ToString();
tbAmount.Text = dt.Rows[i]["Amount"].ToString();
cmbYear.Items.Add(dt.Rows[i]["Year"].ToString());
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
//This part displaying og the existing data from all the fileds