Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#数据库sql内部联接_C#_Sql_Database - Fatal编程技术网

c#数据库sql内部联接

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) {

您好,我想将我的ActivityClub表与Clubs表进行内部连接,以便将其更新为2个表。但到目前为止,我的代码不起作用。我正在使用方法类和SQL数据库。 这是我获取System.Data.SqlClient.SqlException时的错误:“关键字“INNER”附近的语法不正确。”

 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;