Insert data into sqlite in-memory database

对着背影说爱祢 提交于 2019-12-13 06:02:52

问题


So I have a in-memory database and I'm trying to insert data into the table and it's not working. Am I doing something wrong?

var connection = new SQLiteConnection("DataSource=:memory:;Version=3;New=True;");

connection.Open();

string sql = "CREATE TABLE  recently_viewed(movieid INTEGER,picture TEXT)";

SQLiteCommand command = new SQLiteCommand(sql, connection);
command.ExecuteNonQuery();

using ( command = connection.CreateCommand())
{
    command.CommandText = "INSERT into recently_viewed(movieid ,picture) values(@movieid,@picture)";
    command.Prepare();
    command.Parameters.AddWithValue("@movieid", id);
    command.Parameters.AddWithValue("@picture", picture);
}

string   count_table = " SELECT count(*) FROM recently_viewed";

SQLiteCommand   com3 = new SQLiteCommand(count_table, connection);

int   ctable = Convert.ToInt32(com3.ExecuteScalar().ToString());

Response.Write(ctable);

connection.Close();

回答1:


I just noticed from your code that this line:

command.ExecuteNonQuery();

is called only once. What happens when you do:

var connection = new SQLiteConnection("DataSource=:memory:;Version=3;New=True;");

connection.Open();

string sql = "CREATE TABLE  recently_viewed(movieid INTEGER,picture TEXT)";

SQLiteCommand command = new SQLiteCommand(sql, connection);
command.ExecuteNonQuery();

using ( command = connection.CreateCommand())
{
    command.CommandText = "INSERT into recently_viewed(movieid ,picture) values(@movieid,@picture)";
    command.Prepare();
    command.Parameters.AddWithValue("@movieid", id);
    command.Parameters.AddWithValue("@picture", picture);
    command.ExecuteNonQuery();
}


string   count_table = " SELECT count(*) FROM recently_viewed";

SQLiteCommand   com3 = new SQLiteCommand(count_table, connection);
com3.ExecuteNonQuery();

int   ctable = Convert.ToInt32(com3.ExecuteScalar().ToString());

Response.Write(ctable);

connection.Close();


来源:https://stackoverflow.com/questions/32057848/insert-data-into-sqlite-in-memory-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!