我试图显示与输入到文本框中的姓氏相匹配的所有记录。 这需要在“volID”列上有一个INNER JOIN,因为有两个表。Inner Subsonic与subsonic
<asp:TextBox ID="lName" runat="server"></asp:TextBox>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" Visible="true"></asp:GridView>
<asp:linkButton ID="btnSubmit" runat="server" onclick="btnSubmit_Click" />
后面的代码:
protected void btnSubmit_Click(object sender, EventArgs e)
{
GridView1.DataSource = new Select("*")
.From(PastAwardName.Schema)
.InnerJoin(PastAwardName.VolIDColumn, PastAwardType.VolIDColumn)
.Where(PastAwardName.Columns.LName).IsEqualTo(this.lName.Text)
.ExecuteReader();
GridView1.DataBind();
}
我试图从与例如在Subsonics网站做到这一点,但不能得到它的工作。通过下面的错误发布。
Server Error in '/' Application.
________________________________________
The objects "dbo.pastAwardNames" and "dbo.pastAwardNames" in the FROM clause have the same exposed names. Use correlation names to distinguish them.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: The objects "dbo.pastAwardNames" and "dbo.pastAwardNames" in the FROM clause have the same exposed names. Use correlation names to distinguish them.
Source Error:
Line 30:
Line 31:
Line 32: GridView1.DataSource = new Select("*")
Line 33: .From(PastAwardName.Schema)
Line 34: .InnerJoin(PastAwardName.VolIDColumn, PastAwardType.VolIDColumn)
哪里/怎么会是第二个表中定义?它从错误中看出它试图将自己的表连接到同一个表。 – geofftnz 2009-04-14 21:39:17
PastAwardName是第一个表 - PastAwardType是第二个表。我正在尝试加入volID专栏。 – Brett 2009-04-15 15:00:38