gpt4 book ai didi

c# - Winform 数据源更新

转载 作者:行者123 更新时间:2023-11-30 16:42:01 26 4
gpt4 key购买 nike

我有一个网格控件,我想从数据库中获取数据。我将数据源添加到网格,但列名不是我想要的。为此,我打开 xsd 数据源文件并在配置选项上编辑列名。

enter image description here

我更改了查询并编写了 select namesurname [NAME SURNAME] from employees

enter image description here

在此之后,我想要这个;当我编辑此 gridcontrol 时,我按下保存按钮并更新数据库中的此列,如 tableadapter.update(..)

但是我的更新不起作用。我认为这是因为;我习惯于“命名”([NAME SURNAME])。

因为当我不这样编辑列名时,更新工作正常。

最佳答案

无需更改数据库中的列名。您可以在 C# 中定义您的列名称。

我对您问题的最佳回答是使用 DataTable。无需从数据库中获取整个表即可将其放在 GirdControl 上。

您应该创建一个字符串查询StoredProcedure(sql-server) 并从您的数据库读取每个返回的行。

首先我们创建一个DataTable

DataTable dt=new DataTable();

然后定义表列名。

 dt.Columns.Add("name1");
dt.Columns.Add("name2");
dt.Columns.Add("name3");

终于开始从数据库中获取数据(StoredProcedure)

    try
{
using (SqlConnection con = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand("myStoredProcedure"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{

cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@param1", value1);
cmd.Parameters.AddWithValue("@param2", value2);
cmd.Parameters.AddWithValue("@param3", value3);
cmd.Connection = con;
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
DataRow dr = dt.NewRow();
dr[0] = reader[0].ToString();
dr[1] = reader[1].ToString();
dr[2] = reader[2].ToString();
dt.Rows.Add(dr);
}
return true;
}
}
}
}
catch(Exception e)
{

return false;
}

总而言之,我们有一个完整的表格来展示

关于c# - Winform 数据源更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47473852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com