C# 存储图片到mysql C# 存储图片到mysql哪个前辈给点指示代码````` 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnblogs.com/ycoe/articles/353498.html 运行代码报错:对 PInvoke 函数“MySQLDriverCS!MySQLDriverCS.CPrototypes::mysql_real_escape_string”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。 FileStream fs = new FileStream(openFile.FileName, FileMode.OpenOrCreate, FileAccess.Read); byte[] imgbyte = new byte[fs.Length]; BinaryReader br = new BinaryReader(fs); imgbyte = br.ReadBytes(Convert.ToInt32(fs.Length)); MySQLConnection sqlcon = new MySQLConnection(ConfigurationManager.ConnectionStrings["conStr"].ToString()); sqlcon.Open(); MySQLParameter parID=new MySQLParameter("@GoodsId", DbType.String); parID.Value = tbxGoodsId.Text.Trim().ToString(); MySQLParameter parNam = new MySQLParameter("@GoodsName", DbType.String); parNam.Value = tbxGoodsName.Text.Trim().ToString(); MySQLParameter parSize = new MySQLParameter("@GoodsSize", DbType.String); parSize.Value = tbxGoodsSize.Text.Trim().ToString(); MySQLParameter parAH = new MySQLParameter("@ArticleHeavy", DbType.String); parAH.Value = tbxGoodsAh.Text.Trim().ToString(); MySQLParameter parAm = new MySQLParameter("@Amount", DbType.String); parAm.Value = tbxGoodsAmount.Text.Trim().ToString(); MySQLParameter parNW = new MySQLParameter("@NetWeight", DbType.String); parNW.Value = tbxGoodsNetWeight.Text.Trim().ToString(); MySQLParameter parGW = new MySQLParameter("@GrossWeight", DbType.String); parGW.Value = tbxGoodsGrossWeight.Text.Trim().ToString(); MySQLParameter parPrice = new MySQLParameter("@Price", DbType.String); parPrice.Value = tbxGoodsPrice.Text.Trim().ToString(); MySQLParameter parPhoto = new MySQLParameter("@Photo", DbType.Binary); parPhoto.Value = imgbyte; MySQLCommand sqlcom = new MySQLCommand("insert into tb_GoodsInfo(GoodsId,GoodsName,GoodsSize,ArticleHeavy,Amount,NetWeight,GrossWeight,Price,Photo) values(@GoodsId,@GoodsName,@GoodsSize,@ArticleHeavy,@Amount,@NetWeight,@GrossWeight,@Price,@Photo)", sqlcon); sqlcom.CommandType = CommandType.Text; sqlcom.Parameters.Add(parID); sqlcom.Parameters.Add(parNam); sqlcom.Parameters.Add(parSize); sqlcom.Parameters.Add(parAH); sqlcom.Parameters.Add(parAm); sqlcom.Parameters.Add(parNW); sqlcom.Parameters.Add(parGW); sqlcom.Parameters.Add(parPrice); sqlcom.Parameters.Add(parPhoto); sqlcom.ExecuteNonQuery(); sqlcon.Close(); fs.Close(); 数据库的相关字段为Char型, 图片字段为Binary会不会DbType.String和字段Char型 冲突了? protected void btnSubmit_Click(object sender, EventArgs e) { Int64 intImageSize; string strImageType; Stream ImageStream; //获得图片的大小 intImageSize = FileUpload1.PostedFile.ContentLength; //获得图片类型 strImageType =FileUpload1.PostedFile.ContentType; //读取图片ImageStream = FileUpload1.PostedFile.InputStream; byte[] ImageContent=new byte[intImageSize]; int intStatus;intStatus = ImageStream.Read(ImageContent, 0,Convert.ToInt32(intImageSize));SqlConnection conn = new SqlConnection(ConnectionString);SqlCommand insertCmd = new SqlCommand("insert into AddressLists(userId,frdName,frdPhone,frdMobilePhone,frdBirthday,frdAddress,frdEmail,frdQQ,frdImage) values(@userId,@Name,@Phone,@MobilePhone,@Birthday,@Address,@Email,@QQ,@Image)", conn);insertCmd.Parameters.Add("@userId", SqlDbType.VarChar, 15);insertCmd.Parameters.Add("@Name", SqlDbType.VarChar, 10);insertCmd.Parameters.Add("@Phone", SqlDbType.VarChar, 15);insertCmd.Parameters.Add("@MobilePhone", SqlDbType.VarChar, 11);insertCmd.Parameters.Add("@Birthday", SqlDbType.DateTime);insertCmd.Parameters.Add("@Address", SqlDbType.VarChar, 200);insertCmd.Parameters.Add("@Email", SqlDbType.VarChar, 50);insertCmd.Parameters.Add("@QQ", SqlDbType.VarChar, 15);insertCmd.Parameters.Add("@Image", SqlDbType.Image);insertCmd.Parameters["@userId"].Value = Session["login_name"].ToString();insertCmd.Parameters["@Name"].Value = txtName.Text;insertCmd.Parameters["@Phone"].Value = txtUtel2.Text;insertCmd.Parameters["@MobilePhone"].Value = txtUtel3.Text;insertCmd.Parameters["@Birthday"].Value = Convert.ToDateTime(txtBirthday.Text);insertCmd.Parameters["@Address"].Value = txtUaddr.Text;insertCmd.Parameters["@Email"].Value = txtUemail.Text;insertCmd.Parameters["@QQ"].Value = txtUQQ.Text;insertCmd.Parameters["@Image"].Value = ImageContent; try { conn.Open(); int flag = insertCmd.ExecuteNonQuery(); if (flag > 0) { //Response.Write("<script language=javascript>alert('成功添加好友记录!')</script>"); Label1.Text = "成功添加好友记录!"; } else { //Response.Write("<script language=javascript>alert('添加好友记录失败,查看输入是否正确!')</script>"); Label1.Text = "添加好友记录失败,查看输入是否正确!"; } } catch (System.Exception ee) { //Response.Write("<script language=javascript>alert('" + ee.Message.ToString() + "')</script>"); Label1.Text = ee.Message.ToString(); } finally { //conn.Close(); } } 你的是mssql我现在的是在mysql, 很多地方都不同的 [C# code] using (MySqlConnection sqlcon = new MySqlConnection(ConfigurationManager.ConnectionStrings["conMysql"].ToString())) { sqlcon.Open(); MySqlCommand sqlcom = new MySqlCommand("update tb_GoodsInfo set GoodsSize=?GoodsSize,ArticleHeavy=?ArticleHeavy,Amount=?Amount,NetWeight=?NetWeight,GrossWeight=?GrossWeight,Price=?Price,Photo=?Photo where GoodsId='" + str货号 + "'", sqlcon); MySqlParameter parID = new MySqlParameter("?GoodsId", MySqlDbType.String); parID.Value = tbxGoodsId.Text.Trim().ToString(); MySqlParameter parNam = new MySqlParameter("?GoodsName", MySqlDbType.String); parNam.Value = tbxGoodsName.Text.Trim().ToString(); MySqlParameter parSize = new MySqlParameter("?GoodsSize", MySqlDbType.String); parSize.Value = tbxGoodsSize.Text.Trim().ToString(); MySqlParameter parAH = new MySqlParameter("?ArticleHeavy", MySqlDbType.String); parAH.Value = tbxGoodsAh.Text.Trim().ToString(); MySqlParameter parAm = new MySqlParameter("?Amount", MySqlDbType.String); parAm.Value = tbxGoodsAmount.Text.Trim().ToString(); MySqlParameter parNW = new MySqlParameter("?NetWeight", MySqlDbType.String); parNW.Value = tbxGoodsNetWeight.Text.Trim().ToString(); MySqlParameter parGW = new MySqlParameter("?GrossWeight", MySqlDbType.String); parGW.Value = tbxGoodsGrossWeight.Text.Trim().ToString(); MySqlParameter parPrice = new MySqlParameter("?Price", MySqlDbType.String); parPrice.Value = tbxGoodsPrice.Text.Trim().ToString(); MySqlParameter parPhoto = new MySqlParameter("?Photo", MySqlDbType.MediumBlob); parPhoto.Value = imgbyte; sqlcom.CommandType = CommandType.Text; sqlcom.Parameters.Add(parID); sqlcom.Parameters.Add(parNam); sqlcom.Parameters.Add(parSize); sqlcom.Parameters.Add(parAH); sqlcom.Parameters.Add(parAm); sqlcom.Parameters.Add(parNW); sqlcom.Parameters.Add(parGW); sqlcom.Parameters.Add(parPrice); sqlcom.Parameters.Add(parPhoto); sqlcom.ExecuteNonQuery(); }[/code] 不要用MySQLDriverCS了,直接上Mysql官方网站下载一个mysql动态库就可以了,操作方法和sqlserver的几乎一样。地址:http://dev.mysql.com/downloads/connector/net/5.2.html C#调用dll “尝试读取或写入受保护的内存。这通常指示其他内存已损坏。” 求匹配链接的正则表达式 可以从后台直接post么 ? 怎样读取xml文件的某些节点内容?? 请问如何让treeview树形控件初次加载的时候只展开第一级父项,不要展开下级子项 急,有请各位大虾 请问如何取得窗口的句柄?想实现输入法切换工具条的那种效果的话 通过命令行参数的形式修改XML文档 VC到.NET的内码问题 如何打印自绘的图形文件? 无法打开登录所请求的数据库 "aspnetdb"。登录失败的原因是什么 TreeView显示图标异常,请大家帮忙!
byte[] imgbyte = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imgbyte = br.ReadBytes(Convert.ToInt32(fs.Length)); MySQLConnection sqlcon = new MySQLConnection(ConfigurationManager.ConnectionStrings["conStr"].ToString());
sqlcon.Open();
MySQLParameter parID=new MySQLParameter("@GoodsId", DbType.String);
parID.Value = tbxGoodsId.Text.Trim().ToString(); MySQLParameter parNam = new MySQLParameter("@GoodsName", DbType.String);
parNam.Value = tbxGoodsName.Text.Trim().ToString();
MySQLParameter parSize = new MySQLParameter("@GoodsSize", DbType.String);
parSize.Value = tbxGoodsSize.Text.Trim().ToString(); MySQLParameter parAH = new MySQLParameter("@ArticleHeavy", DbType.String);
parAH.Value = tbxGoodsAh.Text.Trim().ToString(); MySQLParameter parAm = new MySQLParameter("@Amount", DbType.String);
parAm.Value = tbxGoodsAmount.Text.Trim().ToString(); MySQLParameter parNW = new MySQLParameter("@NetWeight", DbType.String);
parNW.Value = tbxGoodsNetWeight.Text.Trim().ToString(); MySQLParameter parGW = new MySQLParameter("@GrossWeight", DbType.String);
parGW.Value = tbxGoodsGrossWeight.Text.Trim().ToString(); MySQLParameter parPrice = new MySQLParameter("@Price", DbType.String);
parPrice.Value = tbxGoodsPrice.Text.Trim().ToString(); MySQLParameter parPhoto = new MySQLParameter("@Photo", DbType.Binary);
parPhoto.Value = imgbyte;
MySQLCommand sqlcom = new MySQLCommand("insert into tb_GoodsInfo(GoodsId,GoodsName,GoodsSize,ArticleHeavy,Amount,NetWeight,GrossWeight,Price,Photo) values(@GoodsId,@GoodsName,@GoodsSize,@ArticleHeavy,@Amount,@NetWeight,@GrossWeight,@Price,@Photo)", sqlcon); sqlcom.CommandType = CommandType.Text;
sqlcom.Parameters.Add(parID);
sqlcom.Parameters.Add(parNam);
sqlcom.Parameters.Add(parSize);
sqlcom.Parameters.Add(parAH);
sqlcom.Parameters.Add(parAm);
sqlcom.Parameters.Add(parNW);
sqlcom.Parameters.Add(parGW);
sqlcom.Parameters.Add(parPrice);
sqlcom.Parameters.Add(parPhoto); sqlcom.ExecuteNonQuery();
sqlcon.Close();
fs.Close();
{ Int64 intImageSize;
string strImageType;
Stream ImageStream;
//获得图片的大小
intImageSize = FileUpload1.PostedFile.ContentLength;
//获得图片类型
strImageType =FileUpload1.PostedFile.ContentType;
//读取图片
ImageStream = FileUpload1.PostedFile.InputStream;
byte[] ImageContent=new byte[intImageSize];
int intStatus;
intStatus = ImageStream.Read(ImageContent, 0,Convert.ToInt32(intImageSize));
SqlConnection conn = new SqlConnection(ConnectionString);
SqlCommand insertCmd = new SqlCommand("insert into AddressLists(userId,frdName,frdPhone,frdMobilePhone,frdBirthday,frdAddress,frdEmail,frdQQ,frdImage) values(@userId,@Name,@Phone,@MobilePhone,@Birthday,@Address,@Email,@QQ,@Image)", conn);
insertCmd.Parameters.Add("@userId", SqlDbType.VarChar, 15);
insertCmd.Parameters.Add("@Name", SqlDbType.VarChar, 10);
insertCmd.Parameters.Add("@Phone", SqlDbType.VarChar, 15);
insertCmd.Parameters.Add("@MobilePhone", SqlDbType.VarChar, 11);
insertCmd.Parameters.Add("@Birthday", SqlDbType.DateTime);
insertCmd.Parameters.Add("@Address", SqlDbType.VarChar, 200);
insertCmd.Parameters.Add("@Email", SqlDbType.VarChar, 50);
insertCmd.Parameters.Add("@QQ", SqlDbType.VarChar, 15);
insertCmd.Parameters.Add("@Image", SqlDbType.Image);
insertCmd.Parameters["@userId"].Value = Session["login_name"].ToString();
insertCmd.Parameters["@Name"].Value = txtName.Text;
insertCmd.Parameters["@Phone"].Value = txtUtel2.Text;
insertCmd.Parameters["@MobilePhone"].Value = txtUtel3.Text;
insertCmd.Parameters["@Birthday"].Value = Convert.ToDateTime(txtBirthday.Text);
insertCmd.Parameters["@Address"].Value = txtUaddr.Text;
insertCmd.Parameters["@Email"].Value = txtUemail.Text;
insertCmd.Parameters["@QQ"].Value = txtUQQ.Text;
insertCmd.Parameters["@Image"].Value = ImageContent; try
{
conn.Open();
int flag = insertCmd.ExecuteNonQuery();
if (flag > 0)
{
//Response.Write("<script language=javascript>alert('成功添加好友记录!')</script>");
Label1.Text = "成功添加好友记录!";
}
else
{
//Response.Write("<script language=javascript>alert('添加好友记录失败,查看输入是否正确!')</script>");
Label1.Text = "添加好友记录失败,查看输入是否正确!";
}
}
catch (System.Exception ee)
{
//Response.Write("<script language=javascript>alert('" + ee.Message.ToString() + "')</script>");
Label1.Text = ee.Message.ToString();
}
finally
{
//conn.Close();
}
}
你的是mssql
我现在的是在mysql, 很多地方都不同的
{
sqlcon.Open();
MySqlCommand sqlcom = new MySqlCommand("update tb_GoodsInfo set GoodsSize=?GoodsSize,ArticleHeavy=?ArticleHeavy,Amount=?Amount,NetWeight=?NetWeight,GrossWeight=?GrossWeight,Price=?Price,Photo=?Photo where GoodsId='" + str货号 + "'", sqlcon);
MySqlParameter parID = new MySqlParameter("?GoodsId", MySqlDbType.String);
parID.Value = tbxGoodsId.Text.Trim().ToString(); MySqlParameter parNam = new MySqlParameter("?GoodsName", MySqlDbType.String);
parNam.Value = tbxGoodsName.Text.Trim().ToString(); MySqlParameter parSize = new MySqlParameter("?GoodsSize", MySqlDbType.String);
parSize.Value = tbxGoodsSize.Text.Trim().ToString(); MySqlParameter parAH = new MySqlParameter("?ArticleHeavy", MySqlDbType.String);
parAH.Value = tbxGoodsAh.Text.Trim().ToString(); MySqlParameter parAm = new MySqlParameter("?Amount", MySqlDbType.String);
parAm.Value = tbxGoodsAmount.Text.Trim().ToString(); MySqlParameter parNW = new MySqlParameter("?NetWeight", MySqlDbType.String);
parNW.Value = tbxGoodsNetWeight.Text.Trim().ToString(); MySqlParameter parGW = new MySqlParameter("?GrossWeight", MySqlDbType.String);
parGW.Value = tbxGoodsGrossWeight.Text.Trim().ToString(); MySqlParameter parPrice = new MySqlParameter("?Price", MySqlDbType.String);
parPrice.Value = tbxGoodsPrice.Text.Trim().ToString(); MySqlParameter parPhoto = new MySqlParameter("?Photo", MySqlDbType.MediumBlob);
parPhoto.Value = imgbyte; sqlcom.CommandType = CommandType.Text;
sqlcom.Parameters.Add(parID);
sqlcom.Parameters.Add(parNam);
sqlcom.Parameters.Add(parSize);
sqlcom.Parameters.Add(parAH);
sqlcom.Parameters.Add(parAm);
sqlcom.Parameters.Add(parNW);
sqlcom.Parameters.Add(parGW);
sqlcom.Parameters.Add(parPrice);
sqlcom.Parameters.Add(parPhoto); sqlcom.ExecuteNonQuery();
}[/code]