我正在尝试为我的考试编写程序。我必须使用和使用数据库,我已经编写了一些代码并遇到了问题。数据库未更新。当我执行我的应用程序时,一切都运行完美,我添加了一些信息,它出现在我的dataGridView中,但当我去数据库中的表时,我已经更新并选择"显示表数据",它是空的。
这是将数据插入我的数据库的功能。
static public void Insert(string _imonesPav, string _imonesKodas, string _sutartiesPradzia, string _sutartiesPabaiga)
{
try
{
connection.Open();
SqlCommand command = new SqlCommand("INSERT INTO Tiekejai VALUES (@ImonesPav, @ImonesKodas, @SutartiesPradzia, @SutartiesPabaiga)", connection);
command.Parameters.AddWithValue("@ImonesPav", _imonesPav);
command.Parameters.AddWithValue("@ImonesKodas", _imonesKodas);
command.Parameters.AddWithValue("@SutartiesPradzia", _sutartiesPradzia);
command.Parameters.AddWithValue("@SutartiesPabaiga", _sutartiesPabaiga);
command.ExecuteNonQuery();
}
catch (SqlException exception)
{
MessageBox.Show(exception.ToString());
}
finally
{
connection.Close();
}
}
这就是我使用它的方式。
private void updateDatabase_Click(object sender, EventArgs e)
{
SQLFunkcijos.Insert(imonesVardas.Text, imonesKodas.Text, sutartPradzia.Text, sutartPabaiga.Text);
SQLFunkcijos.Refresh(this.dataGridView1);
}
刷新功能用于实时更新dataGridView中的数据。 所以问题是,我在做什么wrnog?为什么数据库中的表没有更新。 附:我已经尝试了所有复制到输出选项,它只适用于复制更新。
EDIT1:参考功能。
static public void Refresh(DataGridView _dataGridView)
{
try
{
connection.Open();
SqlDataAdapter dataAdapter = new SqlDataAdapter("Select * FROM Tiekejai", connection);
DataTable dataTable = new DataTable();
dataAdapter.Fill(dataTable);
_dataGridView.DataSource = dataTable;
}
catch(SqlException exception)
{
MessageBox.Show(exception.ToString());
}
finally
{
connection.Close();
}
}
EDIT2:问题解决了!我只是使用错误的连接字符串。感谢大家的帮助。