Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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# 我需要查询生成器c中的帮助-删除不起作用_C# - Fatal编程技术网

C# 我需要查询生成器c中的帮助-删除不起作用

C# 我需要查询生成器c中的帮助-删除不起作用,c#,C#,我有一个c和ms access的小项目。我使用查询生成器在ms access中管理我的表 问题是,select查询工作正常,update查询工作正常,但delete不工作,并且没有错误消息 请帮忙 public DataSet Update(DataSet ds) { using (cn) { OleDbDataAdapter adapter = new OleDbDataAdapter();

我有一个c和ms access的小项目。我使用查询生成器在ms access中管理我的表

问题是,select查询工作正常,update查询工作正常,但delete不工作,并且没有错误消息

请帮忙

 public DataSet Update(DataSet ds)
        {
            using (cn)
            {
                OleDbDataAdapter adapter = new OleDbDataAdapter();
                string queryString = "SELECT [taskId],[resourceId] FROM [mytable]";
                cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + _conStrName + ";User Id=admin;Password=;";
                OleDbConnection connection = new OleDbConnection(cn.ConnectionString);
                adapter.SelectCommand = new OleDbCommand(queryString, connection);
                adapter.SelectCommand.CommandText = queryString;

                OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);

                adapter.Update(ds.Tables["mytable";"]);

                return ds;
            }
使用:


如果您正在使用OleDb,请尝试以下操作:

    public static int DeleteStudentInfo(long studentNum)
    {
        var cmd = new OleDbCommand("DELETE FROM Students WHERE studentID = @studentId");
        cmd.Parameters.Add("@studentId", OleDbType.BigInt).Value = studentNum;
        return CallNonQuery(cmd);
    }

    private static int CallNonQuery(OleDbCommand query)
    {
        int rowsAffected;
        var conn = new OleDbConnection(ConfigSettingsManager.DBConnectionString);
        query.Connection = conn;
        try
        {
            conn.Open();
            rowsAffected = query.ExecuteNonQuery();
        }
        catch (Exception)
        {
            return -1;
        }
        finally
        {
            conn.Close();
        }
        return rowsAffected;
    }

将ConfigSettingsManager.DBConnectionString替换为您的连接字符串。

请发布不起作用的SQL代码。您尝试使用的代码示例会有所帮助,您希望人们如何诊断您的问题?公共数据集更新数据集ds{using cn{OleDbDataAdapter=新建OleDbDataAdapter;字符串queryString=从[mytable]中选择[taskId],[resourceId];cn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;数据源=+\u conStrName+;用户Id=admin;密码=;;OleDbConnection connection=new OleDbConnectioncn.ConnectionString;adapter.SelectCommand=new OleDbCommandqueryString,connection;我从这里获取了代码,无需修改写入删除…………因为我使用命令生成器
DELETE FROM Store_Information WHERE store_name = "Los Angeles"
    public static int DeleteStudentInfo(long studentNum)
    {
        var cmd = new OleDbCommand("DELETE FROM Students WHERE studentID = @studentId");
        cmd.Parameters.Add("@studentId", OleDbType.BigInt).Value = studentNum;
        return CallNonQuery(cmd);
    }

    private static int CallNonQuery(OleDbCommand query)
    {
        int rowsAffected;
        var conn = new OleDbConnection(ConfigSettingsManager.DBConnectionString);
        query.Connection = conn;
        try
        {
            conn.Open();
            rowsAffected = query.ExecuteNonQuery();
        }
        catch (Exception)
        {
            return -1;
        }
        finally
        {
            conn.Close();
        }
        return rowsAffected;
    }