数据库问题!弄了一天了!不得不来这里请教!
请看以下两个事件得代码:
在运行时出现这样的异常:
未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中
其他信息:当传递具有新行的 DataRow 集合时,更新要求有效的 InsertCommand。
代码:
//添加新纪录事件
private void MIAddRecord_Click(object sender, System.EventArgs e)
{
DialogResult result;
result = MessageBox.Show (this,"确定要添加新纪录嘛?","提示",MessageBoxButtons.YesNo ,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1 );
if(result ==DialogResult.Yes )
{
//所有控件设置为空
textBoxName.Text = "";
comboBoxSex.SelectedIndex =0;
textBoxYear.Text = "";
comboBoxMonth.SelectedIndex = 0;
comboBoxDay.SelectedIndex = 0;
textBoxBelong.Text = "";
textBoxStar.Text ="";
textBoxPhone.Text = "";
textBoxMobile.Text ="";
textBoxAddress.Text = "";
textBoxOicq.Text = "";
textBoxMail.Text = "";
pictureBox.Image = null;
buttonSaveNew.Enabled = true;
}
}
//保存新纪录事件
private void buttonSaveNew_Click(object sender, System.EventArgs e)
{
//在DataSet中新增一行
DataRow myRow = myDataSet.Tables ["Records"].NewRow ();
//为行中各字段赋值
myRow["用户名"] = currentUser;
myRow["姓名"]=textBoxName.Text .Trim ();
myRow["性别"]=comboBoxSex.Text .Trim ();
//新建一个日期格式
DateTime datetime ;
int Year = Convert.ToInt32 (textBoxYear.Text);
int Month = comboBoxMonth.SelectedIndex +1;
int Day =comboBoxDay.SelectedIndex +1;
datetime = new DateTime (Year,Month,Day);
myRow["出生日期"]=datetime;
myRow["生肖"] = textBoxBelong.Text .Trim ();
myRow["星座"] = textBoxStar.Text .Trim ();
myRow["电话"] = textBoxPhone.Text .Trim ();
myRow["手机"] = textBoxMobile.Text .Trim ();
myRow["Oicq"] = textBoxOicq.Text .Trim ();
myRow["Email"]= textBoxMail.Text .Trim ();
//图片字段的赋值
if(pictureBox.Image !=null)
{
//新建一个内存流
MemoryStream ms = new MemoryStream ();
//把图片内容存到内存流中去
pictureBox.Image .Save (ms,System.Drawing .Imaging.ImageFormat .Bmp );
//把内存流中的内容按字节读入数组
byte [] myData = new Byte [ms.Length ];
ms.Position = 0;
ms.Read (myData,0,Convert.ToInt32 (ms.Length ));
myRow["图片"] = myData;
ms.Close ();
}
//添加行
myDataSet.Tables ["Records"].Rows .Add (myRow);
//设置状态条
statusBarMain.Panels [0].Text = "当前用户:"+currentUser;
statusBarMain.Panels [1].Text = "共有记录:"+myDataSet.Tables ["Records"].Rows .Count .ToString ();
//更新数据库信息,保持DataSet与数据库一致
//注意此处出现异常!!!!!!!!!!!!!
myDataAdapter.Update (myDataSet,"Records");
buttonSaveNew.Enabled =false;
}
各位请帮忙看看!!!!谢了