读书人

Update 没法找到 TableMapping[#039;a#039;] 或

发布时间: 2012-08-07 14:54:49 作者: rapoo

Update 无法找到 TableMapping['a'] 或 DataTable“a”
[code=C#][/code]


private string search;
string sql; //数据库语句 根据不同选择 赋值不同


public DataSet ds = new DataSet();
SqlDataAdapter sda1 = null;
public SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings[1].ConnectionString.ToString());



private void BT_edit_Click(object sender, EventArgs e)
{

sda1.Update(ds, "a");
conn.Close();
Databind();
}

public void Databind()
{


if (RBT_name.Checked == true) //如果选中 按名称查找
{
search = TB_name.Text.Trim();
sql = "select [hw_name] '名称',[hw_bianma] '产品编码' ,[hw_shuliang] '数量',[hw_weizhi] '位置'from [kucun] where [hw_name]='" + search + "'";
}

if (RBT_bianma.Checked == true)
{
search = TB_bianma.Text.Trim();
sql = "select [hw_name] '名称',[hw_bianma] '产品编码' ,[hw_shuliang] '数量',[hw_weizhi] '位置'from [kucun] where [hw_bianma]='" + search + "'";
}


if (RBT_weizhi.Checked == true)
{
search = CBOX_huojia.Text.Trim() + CBOX_ceng.Text.Trim();
sql = "select [hw_name] '名称',[hw_bianma] '产品编码' ,[hw_shuliang] '数量', [hw_weizhi] '位置'from [kucun] where [hw_weizhi]='" + search + "'";
}



SqlCommand scmd1 = new SqlCommand(sql, conn);
sda1 = new SqlDataAdapter(scmd1);
sda1.SelectCommand = scmd1;
SqlCommandBuilder scb = new SqlCommandBuilder(sda1);


sda1.UpdateCommand = scb.GetUpdateCommand();

try
{
conn.Open();
ds.Clear();
sda1.Fill(ds, "a");
this.DATA_chakan.DataSource = ds.Tables[0];
ds.Tables.Clear(); // 将ds中的数据清空 要不下一个项目的查询 数据会重叠


}
catch (Exception ex)
{
MessageBox.Show("数据库异常");
}
finally
{
conn.Close();
scmd1.Dispose();
sda1.Dispose();

}
}

[解决办法]
ds 定义为局部变量就行了

C# code
conn.Open();DataSet ds = new DataSet();sda1.Fill(ds, "a");this.DATA_chakan.DataSource = ds.Tables[0]; 

读书人网 >C#

热点推荐