在这个表单中,我只有一个gridcontrol
,这个datasource
是连接到SQL Server的datatable
。gridcontrol
的底部有四个按钮,分别是选择、插入、删除、修改gridcontrol
。这是我的代码,当插入按钮被点击时,它会发生click事件。
private void InputButton_Click(object sender, EventArgs e)
{
try
{
using (SqlConnection conn = new SqlConnection(mssql))
{
conn.Open();
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("Insert into [Department] (부서코드, 부서명) values (@부서코드, @부서명)", conn);
cmd.Parameters.AddWithValue("@부서코드", "2101");
cmd.Parameters.AddWithValue("@부서명", "영업부");
sqlDataAdapter.InsertCommand = cmd;
int result = cmd.ExecuteNonQuery();
if (result < 0)
{
MessageBox.Show("There are errors when inserting data");
}
else
{
sqlDataAdapter.Update(dataTable);
gridControl1.RefreshDataSource();
conn.Close();
}
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
当我点击插入按钮时,gridcontrol
中没有任何事件,所以我没有看到插入查询的任何变化。但是,关闭窗体并重新打开窗体,然后我可以在gridcontrol
中看到我的插入查询。即使我使用gridcontrol.refreshdatasource
,但我不知道什么,我在点击插入按钮后很快就看不到任何变化。有什么答案吗?
甚至我尝试使用try catch,但我不知道我的问题。我想显示gridcontrol.refreshdatasource
当我点击插入查询。
1条答案
按热度按时间muk1a3rh1#
要在C#Winform中使用GridControl和DataTable插入SQL Server数据,可以按照下列步骤操作:
1.创建连接到SQL Server数据库的连接字符串。可以使用SqlConnection类创建连接字符串。
1.创建DataTable对象以存储将在GridControl中显示的数据。可以向DataTable对象添加列以匹配SQL Server表中的列。
1.创建一个SqlDataAdapter对象,并使用该对象用SQL Server表中的数据填充DataTable对象。可以使用SELECT语句检索数据。
1.将GridControl的DataSource属性设置为DataTable对象以显示GridControl中的数据。
1.使用NewRow方法向DataTable对象添加新行,并设置列的值。
1.创建SqlCommand对象以将数据插入SQL Server表。可以使用INSERT INTO语句插入数据。
1.刷新DataTable对象和GridControl以反映更改。
请注意,您应该处理在向SQL Server表中插入数据时可能发生的任何异常,还应确保在使用后处理所有数据库连接、命令和适配器。
希望这个有用。