当使用插入命令参数时,是否可以将一些文本框保留为空以保存数据?
本文关键字:保留 文本 数据 保存 参数 命令 插入 是否 | 更新日期: 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)