高手赐教,c#的winform中,从oracle数据库中存取图片问题 高手赐教,c#的winform中,从oracle数据库中存取图片问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说的详细些,我的代码是public void SavePicture(out byte[] picbyte) { OpenFileDialog myDialog=new OpenFileDialog(); Stream ms; picbyte=null; if (myDialog.ShowDialog()==DialogResult.OK) { if ((ms=myDialog.OpenFile())!=null) { picbyte=new byte[ms.Length]; ms.Position=0; int n=ms.Read(picbyte,0,int.Parse(ms.Length.ToString())); ms.Close(); } } } OracleConnection mConn; public void SavePicture(int ID,string TEST_NAME) { string sConn="data source=mestest;user id=spc;password=spc;Max Pool Size=75;Min Pool Size=1"; mConn=new OracleConnection(sConn); mConn.Open(); DataTable m_Dt=new DataTable(); string m_Sql; try { m_Sql="INSERT INTO SPC.TEST(TEST_ID,TEST_NAME,PICTURE) "; m_Sql=m_Sql+" values("+ID; m_Sql=m_Sql+",'"+TEST_NAME+"'"; m_Sql=m_Sql+",empty_blob())"; OracleCommand mCmd=new OracleCommand(m_Sql,mConn); mCmd.ExecuteNonQuery(); byte[] blob; OpenFileDialog myDialog=new OpenFileDialog(); Stream fs; blob=null; if (myDialog.ShowDialog()==DialogResult.OK) { if ((fs=myDialog.OpenFile())!=null) { blob=new byte[fs.Length]; int n=fs.Read(blob,0,int.Parse(blob.Length.ToString())); fs.Close(); } } SavePhoto(ID,blob,"TEST_ID","PICTURE","SPC.TEST"); } catch(Exception ex) { System.Console.WriteLine(""+ex); throw ex; } finally { mConn.Close(); } } /// <summary> /// save photo into db /// 保存图片到数据库(2005-5-14) /// </summary> /// <param name="data_id">ID的数值</param> /// <param name="p_Blob">图片BLOB</param> /// <param name="id">ID键</param> /// <param name="photo">图片键</param> /// <param name="tablename">表名</param> public void SavePhoto(int data_id,byte[] p_Blob,string id,string photo,string tablename) { try { OracleDataAdapter photoAdapter; DataSet photoDataSet; DataTable photoTable; DataRow photoRow; photoAdapter = new OracleDataAdapter( "SELECT "+id+","+photo+"" + " FROM "+tablename+" WHERE "+id+" = " + data_id,mConn); photoDataSet= new DataSet(tablename); photoAdapter.UpdateCommand = new OracleCommand ("UPDATE "+tablename+" SET " + ""+photo+" = :vPHOTO " + "WHERE "+id+" = :vID",mConn); photoAdapter.UpdateCommand.Parameters.Add(":vPHOTO", OracleType.Blob, p_Blob.Length, photo); photoAdapter.UpdateCommand.Parameters.Add(":vID", OracleType.Int32, 0, id); photoAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; // Configures the schema to match with Data Source photoAdapter.FillSchema(photoDataSet, SchemaType.Source, tablename); // Fills the DataSet with 'drivers' table data photoAdapter.Fill(photoDataSet,tablename); // Get the current driver ID row for updation photoTable = photoDataSet.Tables[tablename]; photoRow = photoTable.Rows.Find(data_id); // Start the edit operation on the current row in // the 'drivvers' table within the dataset. photoRow.BeginEdit(); // Assign the value of the Photo if not empty if (p_Blob.Length != 0) { photoRow[photo] = p_Blob; } // End the editing current row operation photoRow.EndEdit(); // Update the database table 'drivers' photoAdapter.Update(photoDataSet,tablename); } catch(Exception e) { throw e; } } 为什么我的程序最小化到托盘后就自动退出程序了? 程序中的报价清单打印用什么做比较方便。 在visual studio 的类设计器里面添加一个类的时候,不可以指定它的父类或者接口吗? .net C#如何调用EXE文件 生成一个webRequest的流为什么在有的计算机上就会出问题? 和声音多媒体相关的开发问题指导,高分酬谢 做一个C/S结构的系统,客户端和服务器端一般采用何种连接方式?Remoting?TCP? 帮我搞个京东post自动登录的 错误:不能将顶级控件添加到一个控件上 请各位高手赐教,图片上传和显示问题!(最好有原代码)谢谢! C#如何实现另存为 求C#关于视频开发的电子书
public void SavePicture(out byte[] picbyte)
{
OpenFileDialog myDialog=new OpenFileDialog();
Stream ms;
picbyte=null;
if (myDialog.ShowDialog()==DialogResult.OK)
{
if ((ms=myDialog.OpenFile())!=null)
{
picbyte=new byte[ms.Length];
ms.Position=0;
int n=ms.Read(picbyte,0,int.Parse(ms.Length.ToString()));
ms.Close();
}
} }
public void SavePicture(int ID,string TEST_NAME)
{
string sConn="data source=mestest;user id=spc;password=spc;Max Pool Size=75;Min Pool Size=1";
mConn=new OracleConnection(sConn);
mConn.Open();
DataTable m_Dt=new DataTable();
string m_Sql;
try
{
m_Sql="INSERT INTO SPC.TEST(TEST_ID,TEST_NAME,PICTURE) ";
m_Sql=m_Sql+" values("+ID;
m_Sql=m_Sql+",'"+TEST_NAME+"'";
m_Sql=m_Sql+",empty_blob())";
OracleCommand mCmd=new OracleCommand(m_Sql,mConn);
mCmd.ExecuteNonQuery(); byte[] blob;
OpenFileDialog myDialog=new OpenFileDialog();
Stream fs;
blob=null;
if (myDialog.ShowDialog()==DialogResult.OK)
{
if ((fs=myDialog.OpenFile())!=null)
{
blob=new byte[fs.Length];
int n=fs.Read(blob,0,int.Parse(blob.Length.ToString()));
fs.Close();
}
} SavePhoto(ID,blob,"TEST_ID","PICTURE","SPC.TEST");
}
catch(Exception ex)
{
System.Console.WriteLine(""+ex);
throw ex;
}
finally
{
mConn.Close();
}
} /// <summary>
/// save photo into db
/// 保存图片到数据库(2005-5-14)
/// </summary>
/// <param name="data_id">ID的数值</param>
/// <param name="p_Blob">图片BLOB</param>
/// <param name="id">ID键</param>
/// <param name="photo">图片键</param>
/// <param name="tablename">表名</param>
public void SavePhoto(int data_id,byte[] p_Blob,string id,string photo,string tablename)
{
try
{
OracleDataAdapter photoAdapter;
DataSet photoDataSet;
DataTable photoTable;
DataRow photoRow; photoAdapter = new OracleDataAdapter(
"SELECT "+id+","+photo+"" +
" FROM "+tablename+" WHERE "+id+" = " + data_id,mConn); photoDataSet= new DataSet(tablename);
photoAdapter.UpdateCommand = new OracleCommand
("UPDATE "+tablename+" SET " +
""+photo+" = :vPHOTO " +
"WHERE "+id+" = :vID",mConn);
photoAdapter.UpdateCommand.Parameters.Add(":vPHOTO",
OracleType.Blob, p_Blob.Length, photo);
photoAdapter.UpdateCommand.Parameters.Add(":vID",
OracleType.Int32, 0, id); photoAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; // Configures the schema to match with Data Source
photoAdapter.FillSchema(photoDataSet, SchemaType.Source, tablename); // Fills the DataSet with 'drivers' table data
photoAdapter.Fill(photoDataSet,tablename); // Get the current driver ID row for updation
photoTable = photoDataSet.Tables[tablename];
photoRow = photoTable.Rows.Find(data_id); // Start the edit operation on the current row in
// the 'drivvers' table within the dataset.
photoRow.BeginEdit();
// Assign the value of the Photo if not empty
if (p_Blob.Length != 0)
{
photoRow[photo] = p_Blob;
}
// End the editing current row operation
photoRow.EndEdit(); // Update the database table 'drivers'
photoAdapter.Update(photoDataSet,tablename); }
catch(Exception e)
{
throw e;
}
}