1

我在 SQL Server CE 中的插入操作有问题,这是例外

在此处输入图像描述

这些是我的代码:

private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            perintahsql = new SqlCeCommand("INSERT INTO lokasi (Campus, Address, Phone 1, Phone 2, Phone 3, Fax, Ext.number, Longitude, Latitude, Maps) VALUES (@Campus, @Address, @Phone 1, @Phone 2, @Phone 3, @Fax, @Ext.number, @Longitude, @Latitude, @Maps)", koneksi);
            perintahsql.Parameters.AddWithValue("@Campus", comboBox1.Text);
            perintahsql.Parameters.AddWithValue("@Address", textBox1.Text);
            perintahsql.Parameters.AddWithValue("@Phone 1", textBox2.Text);
            perintahsql.Parameters.AddWithValue("@Phone 2", textBox3.Text);
            perintahsql.Parameters.AddWithValue("@Phone 3", textBox4.Text);
            perintahsql.Parameters.AddWithValue("@Fax", textBox5.Text);
            perintahsql.Parameters.AddWithValue("@Ext. number", textBox6.Text);
            perintahsql.Parameters.AddWithValue("@Longitude", textBox7.Text);
            perintahsql.Parameters.AddWithValue("@Latitude", textBox8.Text);
            perintahsql.Parameters.AddWithValue("@Maps", textBox9.Text);
            koneksi.Open();
            perintahsql.ExecuteNonQuery();
            koneksi.Close();
        }
        catch (SqlCeException ex)
        {
            MessageBox.Show("Whoopss!! " + ex, "SQL Server CE Exception Message");
        }
    }

如何修复该错误?谢谢你。

4

2 回答 2

1

列名和变量名中不能有空格。如果您在 notepad++ 中打开插入语句(或手动计数),您会发现字符 44 是“Phone 1”中的第一个空格。

"INSERT INTO lokasi (校园、地址、电话"

于 2012-09-22T05:34:10.657 回答
1

尝试重命名变量,SQL 不允许使用空格的变量。将变量@Phone 1 更改为@Phone1 等以及@Ext。编号为@ExtNumber。希望它能解决您的疑问。

于 2012-09-22T05:35:08.873 回答