2015-07-21 144 views
-6

我试图通过我的C#代码向表中插入一些值,但每次执行它时,它都会运行,直到ExecuteNonQuery(),然后我得到一个异常并中断。这里是代码:执行非查询错误

connection = new SqlCeConnection("Data Source = Book base.sdf"); 
connection.Open(); 

MemoryStream ms = new MemoryStream(); 
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); 
byte[] im = ms.ToArray(); 

using (SqlCeCommand com = new SqlCeCommand("INSERT INTO Authors (IDN, Surname, Picture, Date of birth, Writer_name) VALUES (@id, @surname, @picture, @date, @name)", connection)) 
{ 
    com.Parameters.AddWithValue("@id", id.Text); 
    Console.WriteLine(id.Text); 

    com.Parameters.AddWithValue("@surname", surname.Text); 
    Console.WriteLine(surname.Text); 

    com.Parameters.AddWithValue("@picture", im); 

    com.Parameters.AddWithValue("@date", dateTimePicker1.Text); 
    Console.WriteLine(dateTimePicker1.Text); 

    com.Parameters.AddWithValue("@name", name.Text); 
    Console.WriteLine(name.Text); 

    Console.WriteLine(com.ExecuteNonQuery()); 

那么,有什么问题呢?

+4

什么是例外?哪条线? –

+2

您能否提供异常详细信息和表格架构?首先看看我发现的是连接字符串不正确。 –

+0

“出生日期”与出[]可能是罪魁祸首。什么是异常消息? – StackTrace

回答

3

也许你需要支架左右出生日期:, [Date of birth], Writer_name

+0

是的,这解决了一个问题!非常感谢,男士! –

0

检查idn是否为字符串,并且该出生日期是表中的datetime2。 同时在你的查询中放置方括号内的出生日期。