Я часами пытался решить эту ошибку, но не смог. Я был бы рад, если бы кто-нибудь помог мне решить эту проблему.
Код:
FileStream fs;
fs = new FileStream(@imagename, FileMode.Open, FileAccess.Read);
byte[] picbyte = new byte[fs.Length];
fs.Read(picbyte, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
string query;
SqlCeConnection conn = new SqlCeConnection(@"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\hotel.sdf");
conn.Open();
SqlParameter picparameter = new SqlParameter();
picparameter.SqlDbType = SqlDbType.Image;
picparameter.ParameterName = "pic";
picparameter.Value = picbyte;
query = "insert into Staffs(name, age, qualification, mobile, landline, salary, salary_type, address, work_type, reference, picture) values(" + textBox16.Text + ", " + textBox15.Text + "," + textBox14.Text + "," + textBox13.Text + "," + textBox12.Text + "," + textBox11.Text + "," + comboBox2.Text + "," + richTextBox2.Text + "," + textBox10.Text + "," + textBox9.Text + ", " + " @pic)";
SqlCeCommand cmd = new SqlCeCommand("insert into Staffs(name, age, qualification, mobile, landline, salary, salary_type, address, work_type, reference, picture) values(" + textBox16.Text + ", " + textBox15.Text + "," + textBox14.Text + "," + textBox13.Text + "," + textBox12.Text + "," + textBox11.Text + "," + comboBox2.Text + "," + richTextBox2.Text + "," + textBox10.Text + "," + textBox9.Text + ", " + " @pic)", conn);
cmd.ExecuteNonQuery();
MessageBox.Show("Profile Added");
cmd.Dispose();
conn.Close();
conn.Dispose();
Ошибка:
имя столбца недопустимое имя узла (если есть) = , имя столбца = d
Пока что я нашел:
«имя столбца = d» в ошибке — это значение текстового поля. Если я наберу a в текстовом поле, ошибка изменится на «имя столбца = a».
Если я помещаю числа в текстовое поле вместо символа, ошибка изменяется на это «Параметр отсутствует [порядковый номер параметра = 1]. Тип данных столбца — nvarchar.
Я попытался изменить схему базы данных, но ничего не произошло.
Я проверил дублирующиеся копии базы данных и не нашел ни одной, поэтому я полагаю, что проблема связана с кодом.
Столбцы имеют типы данных nvarchar, int или image.
Просто чтобы убедиться, что я проверил базу данных, чтобы убедиться, что вставка работает, база данных все еще пуста.
FileStream
,SqlCeConnection
иSqlCeCommand
в блокиusing
. - person John Saunders   schedule 17.04.2013