例外がスローされました: 'System.Data.SQLite.SQLiteException' (System.Data.SQLite.dll の中)
SQL logic error
near "insert": syntax error
SQLite error (1): near "insert": syntax error
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SQLite;
namespace SimpleSQLiteDemo
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
SQLiteConnection con = new SQLiteConnection("Data Source=mydb.sqlite;Version=3;");
con.Open();
try {
string sql = "insert into products (id, code, name, price) values (1,'C-001','ぺんぎんケーキ', 380);";
sql += "insert into products (id, code, name, price) values (2,'C-002','らくだカステラ', 250);";
sql += "insert into products (id, code, name, price) values (3,'C-003','くじらキャンディ', 160);";
SQLiteCommand com = new SQLiteCommand(sql, con);
com.ExecuteNonQuery();
}
catch (SQLiteException exc) {
System.Diagnostics.Debug.WriteLine(exc.Message);
}
finally {
con.Close();
}
}
}
}
SQLiteConnection con = new SQLiteConnection("Data Source=mydb.sqlite;Version=3;");
con.Open();
try {
string sql = "insert into products (id, code, name, price) values (1,'C-001','ぺんぎんケーキ', 380);";
sql += "insert into products (id, code, name, price) values (2,'C-002','らくだカステラ', 250);";
sql += "insert into products (id, code, name, price) values (3,'C-003','くじらキャンディ', 160);";
SQLiteCommand com = new SQLiteCommand(sql, con);
com.ExecuteNonQuery();
}
catch (SQLiteException exc) {
System.Diagnostics.Debug.WriteLine(exc.Message);
}
finally {
con.Close();
}
tryブロック内でSQLの実行をします。実行するSQL文の文字列を準備します。SQLiteでは改行コードではSQL文の区切りとはみなされず、例外が発生し実行が停止するため、複数のSQL文を実行する場合は";"で区切り実行します。 string sql = "insert into products (id, code, name, price) values (1,'C-001','ぺんぎんケーキ', 380);";
sql += "insert into products (id, code, name, price) values (2,'C-002','らくだカステラ', 250);";
sql += "insert into products (id, code, name, price) values (3,'C-003','くじらキャンディ', 160);";
SQLiteCommand com = new SQLiteCommand(sql, con);
com.ExecuteNonQuery();
string sql = "insert into products (id, code, name, price) values (1,'C-001','ぺんぎんケーキ', 380);";
sql += "insert into products (id, code, name, price) values (2,'C-002','らくだカステラ', 250);";
sql += "insert into products (id, code, name, price) values (3,'C-003','くじらキャンディ', 160);";
string sql = "insert into products (id, code, name, price) values (1,'C-001','ぺんぎんケーキ', 380)\r\n";
sql += "insert into products (id, code, name, price) values (2,'C-002','らくだカステラ', 250)\r\n";
sql += "insert into products (id, code, name, price) values (3,'C-003','くじらキャンディ', 160)\r\n";
string sql = "insert into products (id, code, name, price) values (1,'C-001','ぺんぎんケーキ', 380);\r\n";
sql += "insert into products (id, code, name, price) values (2,'C-002','らくだカステラ', 250);\r\n";
sql += "insert into products (id, code, name, price) values (3,'C-003','くじらキャンディ', 160);\r\n";
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SQLite;
namespace SimpleUsingSQLiteDemo
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
using (SQLiteConnection con = new SQLiteConnection("Data Source=mydb.sqlite;Version=3;")) {
con.Open();
string sql = "insert into products (id, code, name, price) values (1,'C-001','ぺんぎんケーキ', 380);\r\n";
sql += "insert into products (id, code, name, price) values (2,'C-002','らくだカステラ', 250);\r\n";
sql += "insert into products (id, code, name, price) values (3,'C-003','くじらキャンディ', 160);\r\n";
SQLiteCommand com = new SQLiteCommand(sql, con);
com.ExecuteNonQuery();
}
}
}
}