C# 为什么赢了';我的查询没有运行吗?

C# 为什么赢了';我的查询没有运行吗?,c#,sql,sql-server-ce,C#,Sql,Sql Server Ce,我有很多类似的问题都能解决,我不知道为什么这个问题不能解决: 我一运行它,就会得到: 类型的未处理异常 中出现“System.Data.SqlServerCe.SqlCeException” System.Data.SqlServerCe.dll …在命令.ExecuteNonQuery()上 有什么明显的失误吗 public void BorrowMovie(int memberCardNumber) { string connectionString = @"Data Source=

我有很多类似的问题都能解决,我不知道为什么这个问题不能解决:

我一运行它,就会得到:

类型的未处理异常 中出现“System.Data.SqlServerCe.SqlCeException” System.Data.SqlServerCe.dll

…在
命令.ExecuteNonQuery()上

有什么明显的失误吗

public void BorrowMovie(int memberCardNumber)
{
    string connectionString = @"Data Source=|DataDirectory|\VideoStoreDB.sdf";
    SqlCeConnection connection = new SqlCeConnection(connectionString);

    connection.Open();
    SqlCeCommand command = new SqlCeCommand(
        "UPDATE Customer SET NumberBorrowedMovies = NumberBorrowedMovies+1 " +
        "WHERE MemberCardNR = @mcn)", connection);    
    command.Parameters.AddWithValue("@mcn", memberCardNumber);      
    command.ExecuteNonQuery();
    connection.Close();

    Console.WriteLine("Movie was borrowed!");
    Console.ReadLine();
}

您有不平衡的括号:

SqlCeCommand command = new SqlCeCommand(
    "UPDATE Customer SET NumberBorrowedMovies = NumberBorrowedMovies+1 " +
    "WHERE MemberCardNR = @mcn", connection);    
此外,您应该使用
使用
块:

public void BorrowMovie(int memberCardNumber)
{
    string connectionString = @"Data Source=|DataDirectory|\VideoStoreDB.sdf";
    using (SqlCeConnection connection = new SqlCeConnection(connectionString))
    {

    connection.Open();
    using (SqlCeCommand command = new SqlCeCommand(
        "UPDATE Customer SET NumberBorrowedMovies = NumberBorrowedMovies+1 " +
        "WHERE MemberCardNR = @mcn)", connection))
    {   
    command.Parameters.AddWithValue("@mcn", memberCardNumber);      
    command.ExecuteNonQuery();
    // connection.Close(); no longer needed
    } // command
    } // connection
    Console.WriteLine("Movie was borrowed!");
    Console.ReadLine();
}

您有不平衡的括号:

SqlCeCommand command = new SqlCeCommand(
    "UPDATE Customer SET NumberBorrowedMovies = NumberBorrowedMovies+1 " +
    "WHERE MemberCardNR = @mcn", connection);    
此外,您应该使用
使用
块:

public void BorrowMovie(int memberCardNumber)
{
    string connectionString = @"Data Source=|DataDirectory|\VideoStoreDB.sdf";
    using (SqlCeConnection connection = new SqlCeConnection(connectionString))
    {

    connection.Open();
    using (SqlCeCommand command = new SqlCeCommand(
        "UPDATE Customer SET NumberBorrowedMovies = NumberBorrowedMovies+1 " +
        "WHERE MemberCardNR = @mcn)", connection))
    {   
    command.Parameters.AddWithValue("@mcn", memberCardNumber);      
    command.ExecuteNonQuery();
    // connection.Close(); no longer needed
    } // command
    } // connection
    Console.WriteLine("Movie was borrowed!");
    Console.ReadLine();
}

InnerException
是什么意思?西蒙,请原谅,我还不知道InnerException是什么。。。我是C#和visual studio的新手@Simon Whitehead。希望这是
InnerExeption
解析查询时出错。[Token line number=1,Token line offset=92,Token in error=>]
@SimonWhitehead:)如何找到@paqogomez,这是VB.Net的…:)
InnerException
是什么意思?西蒙,请原谅,我还不知道InnerException是什么。。。我是C#和visual studio的新手@Simon Whitehead。希望这是
InnerExeption
解析查询时出错。[Token line number=1,Token line offset=92,Token in error=>]
@SimonWhitehead:)如何找到@paqogomez,这是VB.Net的…:)哦,哇。。根本看不出来!哦,来吧……(恨我自己)非常感谢你,约翰!我为什么要用积木@John Saundersf为了获得额外的学分,请回答以下问题:“内部异常”说了什么?提示:仅用于故障排除目的:捕获异常,用
ex.ToString()
显示它,以防止资源泄漏。噢,哇。。根本看不出来!哦,来吧……(恨我自己)非常感谢你,约翰!我为什么要用积木@John Saundersf为了获得额外的学分,请回答以下问题:“内部异常”说了什么?提示:仅用于故障排除目的:捕获异常,用
ex.ToString()
显示它以防止资源泄漏。