看看这几行代码,问题在代码中。
下面是,向数据库中提交信息的方法
private void TJ_Click(object sender, EventArgs e)
        {
            //读取信息
            string xm = XM.Text;
            string xb = XB.Text;
            string cstz = CSTZ.Text;
            string cssg = CSSG.Text;
            string hykh = HYKH.Text;
            string csrq = CSRQ.Text;
            string fmxm = FMXM.Text;
            string gzdw = GZDW.Text;
            string lxfs = LXFS.Text;
            string jtzz = JTZZ.Text;
            string bzxx = BZXX.Text;
            string jdrq = JDRQ.SelectionEnd.ToString();
             疑问一:JDRQ是个“MonthCalendar”控件,是这样读取其中的信息的吗?怎样把信息读取成“-年-月-日”的形式而没有 “00:00:00”                      //获取图像数据
            AccessDB access = new AccessDB();
            byte[] imageBytes = access.PicRead(Pic);   这是获取的图像的二进制字符数组,在SQL语句中是'"+imageBytes+"'这样写吗?提交成了字符串,如果不是该怎样写。数据库中存储此数据的字段的类型是“ole对象”,在下用的数据库是“Access”。
            //插入数据
            string sql = "insert into yexxb (xm,xb,cstz,cssg,hykh,csrq,fmxm,gzdw,lxfs,jtzz,bz,jdrq,zp) values ('"+xm+"','"+xb+"','"+cstz+"','"+cssg+"','"+hykh+"','"+csrq+"','"+fmxm+"','"+gzdw+"','"+lxfs+"','"+jtzz+"','"+bzxx+"','"+jdrq+"','"+imageBytes+"')";
            int add = access.Execute(sql);
            if (add > 0)
            {
                MessageBox.Show("信息提交成功!", "提示信息");            }
            else
            {
                MessageBox.Show("信息提交失败!","提示信息");
            }            access.Dispose();
        }

解决方案 »

  1.   

     string jdrq = JDRQ.SelectionEnd.ToString("yyyy-MM-dd");
      

  2.   

    JDRQ.SelectionEnd.ToString("yyyy-MM-dd");string sql = "Insert into Tb(ID,Photo) Values ('1',@img)";
      OleDbConnection conn = new OleDbConnection(strConn );
      conn.Open();
      OleDbCommand comm = new OleDbCommand(sql, conn);
      comm.Parameters.Add("@img", OleDbType.VarBinary, photo.Length).Value = photo;
      comm.ExecuteNonQuery();
      conn.Close();
      

  3.   


    哥哥,在下用的数据库是Access也可以这样吗?