Я хочу вставить данные в базу данных через sqlite, но каждый раз, когда я получаю сообщение об ошибке ниже:
Соединение установлено успешно ...
code = Error (1), message = System.Data.SQLite.SQLiteException (0x800007BF): SQL logi c ошибка около "hpi_caseid": синтаксическая ошибка в System.Data.SQLite.SQLite3.Prepare (SQLiteConnection cnn, String str Sql, SQLiteStatement предыдущая , UInt32 timeoutMS, String & strRemain) в System.Data.SQLite.SQLiteCommand.BuildNextCommand () в System.Data.SQLite.SQLiteCommand.GetStatement (Int32 index) в System.Data.SQLite.SQLiteDataReader.NextResult () в System.Data. SQLite.SQLiteDataReader..ctor (SQLiteCommand cmd, поведение CommandBehavior) в System.Data.SQLite.SQLiteCommand.ExecuteReader (поведение CommandBehavior) в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery (поведение CommandBehavior) в System.Data.SQLite. ExecuteNonQuery ()
в Dapper.SqlMapper.ExecuteCommand (IDbConnection cnn, CommandDefinition & command, действие 2 в год ramReader) в Dapper.SqlMapper.ExecuteImpl (IDbConnection cnn, CommandDefinition & command) в Dapper.SqlMapper.Execute (IDbConnection cnn, String sql, объектный параметр, транзакция IDbTransaction, команда Nullable`1 commandTimeout, аргумент-аргумент 1-го типа. SaveCase (CaseModel CasesData) в C: \ Users \ mansourm \ Documents \ Visual Studio 2015 \ Projects \ ConsoleApplication1 \ ConsoleApplication1 \ SqliteDataAccess.cs: строка 29 в ConsoleApplication1.Program.test () в C: \ Users \ mansourm \ Documents \ Visual Studio 2015 \ Projects \ ConsoleApplication1 \ ConsoleApplication1 \ Program.cs: строка 249
namespace ConsoleApplication1
{
public class SqliteDataAccess
{
public static void SaveCase(CaseModel CasesData)
{
using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
{
cnn.Execute("INSERT INTO CasesData hpi_caseid VALUES @hpi_caseid", CasesData);
}
}
private static string LoadConnectionString(string id = "Default")
{
return ConfigurationManager.ConnectionStrings[id].ConnectionString;
}
}
}
foreach (var c in ec.Entities)
{
var newCase = new CaseModel();
if (c.Attributes.Contains("hpi_caseid")) //Case ID
newCase.hpi_caseid = Convert.ToInt64(c.Attributes["hpi_caseid"]);
SqliteDataAccess.SaveCase(newCase);
}
public class CaseModel
{
public long hpi_caseid;
}
// App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Default" connectionString="Data Source=C:\Users\mansourm\Documents\Visual Studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\hptest.db; Version=3;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
Я пробовал и с относительным путем, но я получил ту же ошибку.
Заранее спасибо!