Dataadapter.Fill for“column1不属于table1”

时间:2014-01-26 08:03:17

标签: c# javascript asp.net sql-server ado.net

此问题显示错误" column1不属于表"

此前有一个面板,其中包含表格id =" table1"和网格, 现在我添加另一个面板并使用表id =" table1"和网格,

这个叫做Getautocompletedata的方法 代码:

DataSet ds = new DataSet();

string[] strTableAndColumnName = strAuto.Split(',');
string DB_CONN_STRING = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection conn = new SqlConnection(DB_CONN_STRING);
SqlCommand cmd = new SqlCommand("Select " + strTableAndColumnName[1] + " from " + strTableAndColumnName[0], conn);
SqlDataAdapter da;
da = new SqlDataAdapter(cmd);
da.Fill(ds, "table1");
return ds.GetXml();

和在js文件中调用的方法

代码:

function getAutoFillData(obj) {
    var ControlId = document.getElementById('autocompID');
    if (ControlId != null) {
        document.getElementById('autocompID').value = obj.id;
    }
    var strAutoFill = obj.name;
    document.getElementById('autocompID').value = strAutoFill;

    UpDateAlert.GetAutoCompleteData(strAutoFill, FillAutoCompleteData);

现在如何填充table2数据是dataadapter?

1 个答案:

答案 0 :(得分:0)

你可以更具体一点吗?

1)为什么你有2个具有相同ID的元素?

  

这里前面有一个面板,其中表id =“table1”和网格,现在我添加了另一个面板,并且表id =“table1”和grid

2)你的意思是你想用所有列填充表吗?例如

String Sql = "Select\r\n";
        for (int i = 1; i < strTableAndColumnName.Length; i++)
        {
            Sql += strTableAndColumnName[i] + ",\r\n";
        }
        Sql = Sql.Remove(Sql.Length - ",\r\n".Length) + 
            " from " + strTableAndColumnName[0];

等等

SqlCommand cmd = new SqlCommand(Sql, conn);

很抱歉回复,但我没有足够的声誉来添加评论。