c#数据库sql内部联接
您好,我想将我的ActivityClub表与Clubs表进行内部连接,以便将其更新为2个表。但到目前为止,我的代码不起作用。我正在使用方法类和SQL数据库。 这是我获取System.Data.SqlClient.SqlException时的错误:“关键字“INNER”附近的语法不正确。”c#数据库sql内部联接,c#,sql,database,C#,Sql,Database,您好,我想将我的ActivityClub表与Clubs表进行内部连接,以便将其更新为2个表。但到目前为止,我的代码不起作用。我正在使用方法类和SQL数据库。 这是我获取System.Data.SqlClient.SqlException时的错误:“关键字“INNER”附近的语法不正确。” public int updateactivity(string clubname, string clubdesc, string activity, string achv) {
public int updateactivity(string clubname, string clubdesc, string activity, string achv)
{
int status = 0;
string updateSQL = "UPDATE ActivityClub SET club_desc=@desc, activity=@act, achievement=@acv INNER JOIN Clubs AS C1 ON C1.club_desc = Activity.club_desc WHERE club_name=@club";
Connect();
SqlCommand cmd = new SqlCommand(updateSQL, conn);
cmd.Parameters.AddWithValue("@club", clubname);
cmd.Parameters.AddWithValue("@desc", clubdesc);
cmd.Parameters.AddWithValue("@act", activity);
cmd.Parameters.AddWithValue("@acv", achv);
status = cmd.ExecuteNonQuery();
return status;
}
在SQL Server中,您需要此语法(Update table set子句…FROM table JOIN table ON子句…)
您使用的语法不正确。应该是这样的。我建议您编写一个存储过程,并在SP中使用查询,然后从C#代码调用它
参考资料:请解释,“未工作”是什么意思?我收到此异常
System.Data.SqlClient.SqlException:“关键字'INNER'附近的语法不正确。”
您使用的是哪个数据库???如果需要更新多个表,则必须执行多个更新命令。但是,如果需要根据中的某些内容确定要在一个表中更新哪些行,请执行以下操作:另一个表您必须执行如下操作从表更新设置栏=@Bar更新a.Id=b.Aid上的连接另一个表b,其中b.Foo=@Foo
string updateSQL =
"UPDATE ActivityClub
SET club_desc=@desc, activity=@act, achievement=@acv
FROM ActivityClub
INNER JOIN Clubs AS C1 ON C1.club_desc = Activity.club_desc
WHERE club_name=@club";
UPDATE
t1
SET
t1.c1 = t2.c2,
t1.c2 = expression,
...
FROM
t1
[INNER | LEFT] JOIN t2 ON join_predicate
WHERE
where_predicate;