C# C中Finisar.SQLite的SQLite Alter表出现语法错误#

C# C中Finisar.SQLite的SQLite Alter表出现语法错误#,c#,sqlite,C#,Sqlite,我想通过C代码创建列 我尝试过以下代码: string query = "Alter Table CompanyMaster ADD COLUMN CompanyType TEXT"; DbConnection.ExecuteNonQuery(query); DbConnection.ExecuteNonQuery类代码为: // Class variables declared elsewhere... private static SQLiteConnection sqlConnectio

我想通过C代码创建列

我尝试过以下代码:

string query = "Alter Table CompanyMaster ADD COLUMN CompanyType TEXT";
DbConnection.ExecuteNonQuery(query);
DbConnection.ExecuteNonQuery
类代码为:

// Class variables declared elsewhere...
private static SQLiteConnection sqlConnection;
private static SQLiteCommand sqlCmd;
private static SQLiteDataAdapter sqlAdt;

Public static int ExecuteNonQuery(string query) 
{
    try
    {
        if (sqlConnection.State == ConnectionState.Closed)
            sqlConnection.Open();

        sqlCmd = sqlConnection.CreateCommand();
        sqlCmd.CommandText = query;
        Thread.Sleep(5);

        return sqlCmd.ExecuteNonQuery();
    }
    catch (Exception)
    {
        throw;
        // return 0;                
    }
    finally
    {
       ...
    }
}
我犯了抛接球错误

Finisar.SQLite.SQLiteException:“靠近”Alter:“语法错误”


altertable
命令看起来不错。你没有分享的地方出了问题。一件奇怪的事情是,当我有意提交错误时,我得到的是相同的文本大小写,但在查询赋值中显示大写的
ALTER
,但显示的错误是小写的。您是否检查了
query
变量以确保它包含相同的SQL语句?另外,只显示相关代码非常有用,但是裁剪代码的方式很笨拙。至少通过包含带有参数的
DbConnection.ExecuteNonQuery
声明等来显示完整的上下文。亲爱的C Perkins,感谢您重播我,我添加了两个屏幕,请检查并给我一些解决方案。旁注:不要让您的连接像那样打开。而且,您创建的帮助器类对您没有帮助。在查询需要时,类似乎不能传递参数。避免这样做。还有,别再打那个催眠电话了。@ConnectInfotech老实说,屏幕截图没用。您已经给出了大部分代码和错误,因此代码图片和错误图片没有添加任何有用的内容。它唯一的帮助是显示
ExecuteNonQuery()
函数的声明,但其目的是编辑现有代码以使其更具可读性。照片常常占据太多的空间,分散注意力。(我分享此详细信息是为了帮助您改进未来的帖子。如果您以最佳方式设置问题的格式,您将获得更多的投票,并且更愿意提供帮助。)Finisar.SQLite查看SourceForge,上一次更新是在2005年。那是你正在使用的版本吗?ALTERTABLE语句看起来很好,因此我将尝试另一个.NETSQLite实现。