//图像数据转变byte
MemoryStream ms = new MemoryStream();
this.picDrawData.Image.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp);
myData = new Byte[ms.Length];
ms.Position = 0;
ms.Read(myData, 0, Convert.ToInt32(ms.Length));
m_DW["DrawData"] = myData;
//显示图像数据
if (!m_DW.IsNull("DrawData"))
{
myData = new byte[0];
myData = (byte[])m_DW["DrawData"];
int bmpSize = new int();
bmpSize = myData.Length;
MemoryStream ms = new MemoryStream();
ms.Write(myData, 0, bmpSize);
Bitmap bmp;
bmp = new Bitmap(ms);
picDrawData.Image = bmp;
ms.Close();
}private void BuildCommand(IDbDataAdapter iDbDataAdapter)
{
OracleDataAdapter daOracle = (OracleDataAdapter)iDbDataAdapter;
OracleCommandBuilder cbOracle = new OracleCommandBuilder();
cbOracle.DataAdapter = daOracle;
daOracle.InsertCommand = cbOracle.GetInsertCommand();
daOracle.UpdateCommand = cbOracle.GetUpdateCommand();
daOracle.DeleteCommand = cbOracle.GetDeleteCommand();
return;
}public int DoUpdate(DataTable dataTable, string srcTable)
{
switch (m_DbKind)
{
case DbKinds.Oracle:
OracleConnection cnnOracle = new OracleConnection(m_ConnectionString);
OracleCommand cmdOracle = new OracleCommand("SELECT * FROM " + srcTable, cnnOracle);
OracleDataAdapter daOracle = new OracleDataAdapter(cmdOracle);
BuildCommand(daOracle);
return daOracle.Update(dataTable);
default:
throw (new Exception("无法处理的数据库类型"));
}Access acc = new Access();
//SQL保证取得的数据是一条
DataTable dt = acc.GetDBTable("表名",SQL);
DataRow dr = dt.Rows[0];//注意这里是修改,如果是新增的话应该是dt.NewRow()
dr["DrawData"] = frm.DrawData;//赋值
int i = acc.DoUpdate(dt.GetChanges(), "表名");
MemoryStream ms = new MemoryStream();
this.picDrawData.Image.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp);
myData = new Byte[ms.Length];
ms.Position = 0;
ms.Read(myData, 0, Convert.ToInt32(ms.Length));
m_DW["DrawData"] = myData;
//显示图像数据
if (!m_DW.IsNull("DrawData"))
{
myData = new byte[0];
myData = (byte[])m_DW["DrawData"];
int bmpSize = new int();
bmpSize = myData.Length;
MemoryStream ms = new MemoryStream();
ms.Write(myData, 0, bmpSize);
Bitmap bmp;
bmp = new Bitmap(ms);
picDrawData.Image = bmp;
ms.Close();
}private void BuildCommand(IDbDataAdapter iDbDataAdapter)
{
OracleDataAdapter daOracle = (OracleDataAdapter)iDbDataAdapter;
OracleCommandBuilder cbOracle = new OracleCommandBuilder();
cbOracle.DataAdapter = daOracle;
daOracle.InsertCommand = cbOracle.GetInsertCommand();
daOracle.UpdateCommand = cbOracle.GetUpdateCommand();
daOracle.DeleteCommand = cbOracle.GetDeleteCommand();
return;
}public int DoUpdate(DataTable dataTable, string srcTable)
{
switch (m_DbKind)
{
case DbKinds.Oracle:
OracleConnection cnnOracle = new OracleConnection(m_ConnectionString);
OracleCommand cmdOracle = new OracleCommand("SELECT * FROM " + srcTable, cnnOracle);
OracleDataAdapter daOracle = new OracleDataAdapter(cmdOracle);
BuildCommand(daOracle);
return daOracle.Update(dataTable);
default:
throw (new Exception("无法处理的数据库类型"));
}Access acc = new Access();
//SQL保证取得的数据是一条
DataTable dt = acc.GetDBTable("表名",SQL);
DataRow dr = dt.Rows[0];//注意这里是修改,如果是新增的话应该是dt.NewRow()
dr["DrawData"] = frm.DrawData;//赋值
int i = acc.DoUpdate(dt.GetChanges(), "表名");
解决方案 »
- 求一个过滤特殊符号(用语防止SQL注入问题)的通用方法供其他页面调用?
- vs 2008 发布网站成功后,然后放到虚拟目录后图片不显示了
- 每个会员有一个独立的网址:如Web:www.xxxx.com/000000001 如何实现?
- 锚点(#书签) 的属性 name 被XHTML认为是过时的(outdated), 有其它替代的吗
- 很难的问题!如何利用js或者vbscript或者html获取客户端的ip地址??
- 老问题了,但好象还没有人有正解!
- 请问各位大侠, 你们在使用vs2005的时候,页面是如何做的?
- 菜鸟问题,请各位帮忙!
- flash显示问题
- 请教发邮件问题
- 在asp.net中怎样判断Oracle数据库中字段是number类型的值是否为空?
- 如何得到,从1到7的 数字?
http://topic.csdn.net/t/20040810/10/3259044.html
protected void Button1_Click(object sender, EventArgs e)
{
string sql = "insert into test(a,b) values('1',:B)";
OracleCommand cmd = new OracleCommand(sql, con); int length = this.FileUpload1.PostedFile.ContentLength;
byte [] pic = new byte[length];
this.FileUpload1.PostedFile.InputStream.Read(pic, 0, length);
cmd.Parameters.Add(":B", OracleType.Blob).Value = pic; con.Open();
cmd.ExecuteNonQuery();
con.Close();
} protected void Button2_Click(object sender, EventArgs e)
{
string sql = "select b from test where a = 1"; OracleCommand cmd = new OracleCommand(sql,con);
con.Open();
MemoryStream stream = new MemoryStream();
IDataReader reader = cmd.ExecuteReader(); if (reader.Read())
{
byte[] pic = (byte[])reader[0];
stream.Write(pic, 0, pic.Length); // 把读取的文件当成图片显示在浏览器中
Bitmap bitMap = new Bitmap(stream);
Response.ContentType = "image/Jpeg";
bitMap.Save(Response.OutputStream, ImageFormat.Jpeg); // 下面注释的代码可以实现下载
//Response.ContentType = "application/octet-stream";
//Response.AddHeader("Content-Disposition", "attachment;FileName= demo.JPG");
//Response.BinaryWrite(pic);
//Response.End();
} con.Close();
}
}参考
http://www.cnblogs.com/dragonpro/articles/120341.html