INSERT INTO 语句错误 OleDbCommand mycmd = new OleDbCommand(@"INSERT INTO user(ImageName,ImageByte) VALUES ('"+ fileName +"',@photo1)", myConn);检查了好久,还是出现insert语句错误。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该错误在@photo1上。你最好不要直接写进去。弄个string sql = "INSERT INTO user(ImageName,ImageByte) VALUES ('"+ fileName +"',@photo1";出来,然后断点看sql到底是不是你要的那个执行语句。 @photo1为参数,这是参数化sql语句,你需要给参数的值。 cmd.CommandText = "insert into T_ComponentType(ComponentType) values(@ComponentType)"; cmd.Parameters.Add("@ComponentType", OleDbType.WChar, 50).Value = TextField1.Text; result = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); con.Close(); OleDbCommand mycmd = new OleDbCommand(@"INSERT INTO user(ImageName,ImageByte) VALUES ('"+ fileName +"',@photo1)", myConn);对于上面的代码,是否给@photol变量赋值?赋值如下:mycmd.Parameters.Add("@photol", OleDbType.WChar, 50).Value = TextField1.Text; 支持二楼的SqlParameter goodsName = new SqlParameter("@GoodsName", SqlDbType.VarChar,50);Sql语句中也是写 goodsName 呢。不用加"号了建议楼主看看 SqlParameter的用法 OleDbCommand mycmd = new OleDbCommand(@"INSERT INTO user(ImageName,ImageByte) VALUES ('"+ fileName +"',@photo1)", myConn); mycmd.Parameters.Add("@photo1",'值');你用的是SQL参数化查询,需要在执行语句前,添加参数的值。 到网上去搜索 binary 数据存储 //将文件内容读取到byte中 FileStream fs = new FileStream( fileName, FileMode.Open, FileAccess.Read ); byte[] imageData = new Byte[fs.Length]; fs.Read( imageData, 0, (int)fs.Length ); fs.Close();//参数赋值mycmd.Parameters["@photo1"].Direction = ParameterDirection.Input;mycmd.Parameters["@photo1"].Value = imageData; byte[] byteImage = dataImageHelper.GetBeytImagebyPath(dig.FileName); //获取文件名 FileInfo fileInfo = new FileInfo(dig.FileName); string fileName = fileInfo.Name; OleDbCommand mycmd = new OleDbCommand("insert into 用户照片(ImageName,ImageByte) values ('" + fileName + "',@photo1)", myConn2); //@"INSERT INTO localdb(ImageName,ImageByte) VALUES ('" + fileName + "',@photo1)where Mac='" + textBox1.Text + "'", myConn2); mycmd.CommandType = CommandType.Text; OleDbParameter prmPersonImageType = new OleDbParameter("@photo1", OleDbType.VarBinary); prmPersonImageType.Value = byteImage; mycmd.Parameters.Add(prmPersonImageType).Value = byteImage; mycmd.ExecuteNonQuery(); MessageBox.Show("信息添加成功!");user是关键字,句子本身没什么问题 感觉access的数据库最好用中文做表名。谢谢各位啦! 跪求高手赐教二维winform的datagridview表头合并方法 菜鸟求助 繼承對象訪問出錯,未将对象引用设置到对象的实例 反射之后怎么能更新Dll?exe没有退出的情况下. 如何得到DataGridView的列标题高度 在线急等!字符是未知长度未知 如"1,12,45"怎样在“,”前和后插入"'". 关于视频采集和视频输出? 【高手来】 大哥大姐帮帮忙: 关于C#netstream.Read()函数的问题 关于get关键字 WPF里可不可以创建线程和使用互斥锁?
弄个string sql = "INSERT INTO user(ImageName,ImageByte) VALUES ('"+ fileName +"',@photo1";出来,然后断点看sql到底是不是你要的那个执行语句。
cmd.Parameters.Add("@ComponentType", OleDbType.WChar, 50).Value = TextField1.Text;
result = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
con.Close();
对于上面的代码,是否给@photol变量赋值?赋值如下:mycmd.Parameters.Add("@photol", OleDbType.WChar, 50).Value = TextField1.Text;
SqlParameter goodsName = new SqlParameter("@GoodsName", SqlDbType.VarChar,50);
Sql语句中也是写 goodsName 呢。不用加"号了
建议楼主看看 SqlParameter的用法
OleDbCommand mycmd = new OleDbCommand(@"INSERT INTO user(ImageName,ImageByte) VALUES ('"+ fileName +"',@photo1)", myConn);
mycmd.Parameters.Add("@photo1",'值');
你用的是SQL参数化查询,需要在执行语句前,添加参数的值。
FileStream fs = new FileStream( fileName, FileMode.Open, FileAccess.Read ); byte[] imageData = new Byte[fs.Length]; fs.Read( imageData, 0, (int)fs.Length ); fs.Close();
//参数赋值
mycmd.Parameters["@photo1"].Direction = ParameterDirection.Input;mycmd.Parameters["@photo1"].Value = imageData;
//获取文件名
FileInfo fileInfo = new FileInfo(dig.FileName);
string fileName = fileInfo.Name;
OleDbCommand mycmd = new OleDbCommand("insert into 用户照片(ImageName,ImageByte) values ('" + fileName + "',@photo1)", myConn2);
//@"INSERT INTO localdb(ImageName,ImageByte) VALUES ('" + fileName + "',@photo1)where Mac='" + textBox1.Text + "'", myConn2);
mycmd.CommandType = CommandType.Text;
OleDbParameter prmPersonImageType = new OleDbParameter("@photo1", OleDbType.VarBinary);
prmPersonImageType.Value = byteImage;
mycmd.Parameters.Add(prmPersonImageType).Value = byteImage;
mycmd.ExecuteNonQuery();
MessageBox.Show("信息添加成功!");user是关键字,句子本身没什么问题
感觉access的数据库最好用中文做表名。
谢谢各位啦!