当使用插入命令参数时,是否可以将一些文本框保留为空以保存数据?

本文关键字:保留 文本 数据 保存 参数 命令 插入 是否 | 更新日期: 2023-09-27 18:10:56

在下面的示例中,我必须输入所有细节才能将数据保存到数据库中。是否有可能留下一些文本框空保存它,然后使用更新命令参数来填写其余的数据?例如插入ID,年龄组,性别,留下照片和简历空,并将其保存在Access数据库?如果你不介意的话,有人能举个例子吗?我给你的描述我不知道怎么用专业术语来描述。提前感谢任何帮助。

private void btnInsert_Click(object sender, EventArgs e)
    {
        OleDbCommand cmd = new OleDbCommand(@"INSERT INTO Table1
                                    (ID, AgeGroup, Gender, CriminalOffence, photo, CV)   
                              VALUES(@ID, @AgeGroup, @Gender, @CriminalOffence, @photo, @Resume)", con);
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.AddWithValue("@ID",textBox1.Text);
        cmd.Parameters.AddWithValue("@AgeGroup", comboBox1.Text);
        cmd.Parameters.AddWithValue("@Gender", comboBox2.Text);
        cmd.Parameters.AddWithValue("@CriminalOffence", OleDbType.WChar).Value = str;
        if (pictureBox1.Image != null)
        {
            //using MemoryStream:
            ms = new MemoryStream();
            pictureBox1.Image.Save(ms, ImageFormat.Jpeg);
            byte[] photo_aray = new byte[ms.Length];
            ms.Position = 0;
            ms.Read(photo_aray, 0, photo_aray.Length);
            cmd.Parameters.AddWithValue("@photo", photo_aray);
        }
        cmd.Parameters.AddWithValue("@Resume", richTextBox1.Text);
        con.Open();
        cmd.ExecuteNonQuery();
         con.Close(); 

VS 2010 c#Access 2003

当使用插入命令参数时,是否可以将一些文本框保留为空以保存数据?

添加提交前检查语句:

例如

:

 cmd.Parameters.AddWithValue("@ID",  string.IsNullOrEmpty(textBox1.Text.Trim())?  DBNull.Value:textBox1.Text.Trim());

你需要传递值来处理错误"一个或多个必需的参数没有给定值"

您是否将稍后要在数据库中更新的列的allow null属性设置为true ?如果不这样做,我猜你现在的代码会工作得很好。

string command = stirng.Format("INSERT INTO Table1(ID, AgeGroup) VALUES ({0},{1})",TextBox1.Text,ComboBox1.Text)
OleDbCommand cmd = new OleDbCommand(command, con)