我已经用 SQL 编写了这个过程并且正在工作
ALTER proc [dbo].[gridcombo] (@tabela int)
as
/*1 Setores */
if (@tabela=1)
begin
select setor_id, setor_nome from tbl_setores
end
/*2 Atividade Economica */
if (@tabela=2)
begin
SELECT cnae_id, cnae_descricao FROM tbl_CNAE
end
我使用此过程在 C# 中填充数据网格视图
public SqlConnection sqlcon = Tconex.GetConnection();
public SqlDataAdapter da2 = new SqlDataAdapter();
public DataTable dt1 = new DataTable();
SqlParameter tabela = new SqlParameter("@tabela", SqlDbType.Int);
tabela.Value = 1;
SqlCommand llena = new SqlCommand("gridcombo", sqlcon);
llena.Parameters.Add(tabela);
llena.CommandType = CommandType.StoredProcedure;
da2.SelectCommand = llena;
da2.Fill(dt1);
BindingSource bsource = new BindingSource();
bsource.DataSource = dt1;
dataGridView1.DataSource = bsource;
dataGridView1.AutoGenerateColumns = true;
sqlcon.Close();
当我更改tabela.value
数据网格时填充了一个或另一个表,效果很好。
但我无法通过数据网格编辑表格
da2.UpdateCommand = new SqlCommandBuilder(da2).GetUpdateCommand();
da2.Update(dt1);
sqlcon.Close();
我究竟做错了什么?为什么我不能更新表?
谢谢你的帮助!