我尝试制作一个程序,这样我就可以看到我每年使用多少电,水等。我创建了三个包含
的表单在MainForm
上有一个DataGridView
,在一个类loadlist.cs
中我输入了代码,使用DataTable
从SQL Server加载数据。
现在我希望表单2访问loadlist.cs
并且它正常工作 - 我得到一个MessageBox.Show()
结果来检查。
但是当我想将数据添加到DataGridView
时,它无法正常工作。
如何?
来自" MainForm.cs"的代码:
Jojo op = new Jojo();
Gridview_index.DataSource = GetTable();
Gridview_index.DataSource = op.JojoGetir("Elforbrug");
代码来自" loadlist.cs":
public List<GetValues> JojoGetir(string input) {
AutoClosingMessageBox.Show(input, "Vis", 1000);
List<GetValues> JojoListesi = new List<GetValues>();
string sql = "SELECT * FROM " + input;
con.Open();
cmd = new SqlCommand(sql, con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
GetValues ogr = new GetValues();
ogr.Id = Convert.ToInt32(dr [0]);
ogr.Dato = Convert.ToDateTime(dr [1].ToString());
ogr.Aflæsning = Convert.ToInt32(dr [2]);
ogr.Forskel = Convert.ToInt32(dr [3]);
JojoListesi.Add(ogr);
}
con.Close();
return JojoListesi;
}
来自&#34; add.cs&#34;的代码:
if (Vaelgforbrug.SelectedItem != null &&
string.IsNullOrWhiteSpace(IndtastForbrug.Text) == false) {
cmd.Connection = cn;
cn.Open();
MessageBox.Show((DateTime.Parse(datoForbrug.Value.ToShortDateString())).ToString("dd-MM-yyyy"));
cmd.CommandText = "insert into " + Vaelgforbrug.SelectedItem + "forbrug (Dato, Aflæsning, Forskel) VALUES ('" + (DateTime.Parse(datoForbrug.Value.ToShortDateString())).ToString("dd-MM-yyyy") + "', '" + IndtastForbrug.Text + "','" + 0 + "')";
cmd.ExecuteNonQuery();
AutoClosingMessageBox.Show("Gemt!", "Opsætning", 1000);
cn.Close();
Close();
var op = new Jojo();
var f = new Forbrug();
f.Gridview_index.DataSource = op.JojoGetir(Vaelgforbrug.SelectedItem + "forbrug");
}
来自&#34; AutoClosingMessageBox&#34;我得到了&#34;输入&#34;我可以看到它被触发但没有输入数据&#34; Gridview_index&#34;。它将我想要添加到SQL Server的数据保存到Gridview_index。