代码之家  ›  专栏  ›  技术社区  ›  Choxmi

以一种形式使用两个数据表

  •  2
  • Choxmi  · 技术社区  · 6 年前

    我正在尝试实现一个包含两个数据表的结果的父子表单。当我浏览父窗体记录时,需要更改子表数据。

    在我的场景中,我需要使用用户表更改事务记录。

    我尝试将其作为SQL查询添加。如果我在查询本身中使用“user”表,它就可以正常工作,但是当我使用“transaction”或任何其他表时,它会给出语法错误。

    < Buff行情>

    message=关键字'transaction'附近的语法不正确。

    < /块引用>
    private void tester_load(object sender,eventargs e)
    {
    this.customerTableAdapter.fill(this.TransactionDbDataSet.customer);
    bindTransactionData();
    }
    
    私有void bindTransactionData()。{
    string query=“select*from transaction”;
    da=新的sqldataadapter(query,cn);
    填充(DT);
    transactionGridView.datasource=dt;
    }
    < /代码> 
    
    

    请帮我这个。谢谢。当我浏览父窗体记录时。

    在我的场景中,我需要使用用户表更改事务记录。

    我尝试将其作为SQL查询添加。如果我在查询本身中使用“user”表,它就可以正常工作,但是当我使用“transaction”或任何其他表时,它会给出语法错误。

    message=关键字'transaction'附近的语法不正确。

    private void Tester_Load(object sender, EventArgs e)
    {
        this.customerTableAdapter.Fill(this.transactionDBDataSet.Customer);
        bindTransactionData();
    }
    
    private void bindTransactionData() {
        string query = "SELECT * FROM TRANSACTION";
        da = new SqlDataAdapter(query, cn);
        da.Fill(dt);
        transactionGridView.DataSource = dt;
    }
    

    请帮我这个。谢谢。

    1 回复  |  直到 6 年前
        1
  •  2
  •   CodeHxr    6 年前

    “transaction”是保留字。在SQL Server中,这需要用括号限定,因此您的SQL如下所示:

    SELECT * FROM [TRANSACTION]
    

    您没有使用SQL Server,但我敢打赌这仍然解决了您的问题,因为这是一个相当标准的实践。