データベースにデータを追加する単純なフォームを使用して、いくつかのデータベース コンパクト コードをテストしています。AddBtn をクリックすると、テキスト フィールドの値をデータベースに挿入したいだけなのに、「初期化文字列のフォーマットがインデックス 0 から始まる仕様に準拠していません」というエラーが表示されます。問題は SqlCeConnection 行内にあるようです。
完全なコード サンプル:
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.Sql;
using System.Data.SqlClient;
using System.Data.SqlServerCe;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void AddBtn_Click(object sender, EventArgs e)
{
SqlCeConnection con = new SqlCeConnection(@"C:\Users\Name\Documents\Visual Studio 2012\Projects\DataBaseTest\MyDatabase#1.sdf");
try {
con.Open();
SqlCeCommand cmd = con.CreateCommand();
cmd.CommandText = "insert into test ([ID], [OrderID], [KundID]) values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
try {
cmd.ExecuteNonQuery();
}
catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
}
}