android 如何获取保存的图片的地址 并存到数据库中

android 如何获取保存的图片的地址 并存到数据库中,第1张

'创建页面事件

PrivateSubPage_Load(ByValsenderAsSystemObject,_

ByValeAsSystemEventArgs)HandlesMyBaseLoad

'声明整型变量i,

DimiAsInteger

'创建一个位图对象,用来放置柱形图,我们可以把它看作是一块画布。

'这里宽、高分别是400和200,当然,你也可以根据需要把它们做为参数来进行传递。

DimobjBitMapAsNewBitmap(400,200)

'声明一个图形对象,在上面创建的位图上画图。

DimobjGraphicsAsGraphics

'从指定的objBitMap对象创建新图形对象objGraphics。

objGraphics=GraphicsFromImage(objBitMap)

'清除整个绘图面并以指定白色为背景色进行填充。

objGraphicsClear(ColorWhite)

'创建一个数据源,这里我们为了方便其间,采用数组做为柱形图和饼图的数据源。

DimarrValues(6)AsInteger

arrValues(0)=100

arrValues(1)=135

arrValues(2)=115

arrValues(3)=125

arrValues(4)=75

arrValues(5)=120

arrValues(6)=40

这里介绍两种种方法。

1,SqlDataReader的GetSqlBytes方法用于检索varbinary(max)列的内容。

reader = commandExecuteReader(CommandBehaviorSequentialAccess);

while (readerRead())

SqlBytes bytes = readerGetSqlBytes(0);

例1从NorthWind数据库的Employees表读取雇员图像并显示。SqlDataReader的GetSqlBytes方法返回一个SqlBytes对象,该对象公开Stream属性。使用该属性创建新的Bitmap对象,然后以Gif ImageFormat格式保存到Stream。

private void ReadPhoto(string lastName)     //读取雇员图像并显示

{

using (SqlConnection connection = new SqlConnection(ConnectionString))

{

Stream s = new MemoryStream();      //创建一个以内存为后备存储的流

SqlCommand command = connectionCreateCommand();

SqlDataReader reader = null;

try

{

commandCommandText = "SELECT LastName,Photo FROM dboEmployees " +

" WHERE LastName=@LastName";

commandCommandType = CommandTypeText;

//声明参数并赋值

SqlParameter parameter = new SqlParameter("@LastName", SqlDbTypeNVarChar, 20);

parameterValue = lastName;

commandParametersAdd(parameter);

connectionOpen();

//修改DataReader的默认行为,SequentialAccess按顺序接收数据并立即加载

//CloseConnection指明关闭DataReader时,对数据库的连接也关闭

reader = commandExecuteReader(

CommandBehaviorSequentialAccess|CommandBehaviorCloseConnection);

if (readerHasRows)

{

while (readerRead())

{

//SequentialAccess要求按顺序接收数据,先接受reader[0]

thislabel1Text = reader[0]ToString();

if (readerIsDBNull(1))          //若列值为空返回

return;

else

{

//使用readerGetSqlBytes获取图像数据

SqlBytes bytes = readerGetSqlBytes(1);

using (Bitmap productImage = new Bitmap(bytesStream))

{

//以gif格式保存在Stream流并显示

productImageSave(s, SystemDrawingImagingImageFormatGif);

thispictureBox1Image = SystemDrawingImageFromStream(s);

} } }

}

else

MessageBoxShow("No records returned");

}

catch (Exception ex)

{

MessageBoxShow(exMessage);

}

Finally

{

if (reader != null)

readerDispose();               //关闭DataReader,同时关闭对数据库连接

}

sClose();                         //关闭流

}

}

本程序将DataReader设置为SequentialAccess,要求顺序访问字段,所以先读取LastName小数据,再读取图像大数据。程序运行后从组合框选取雇员的LastName,将在图形框出现雇员的图像,

2,SqlDataReader的GetSqlBinary方法可用于检索varbinary(max)列的内容。

reader = commandExecuteReader(CommandBehaviorCloseConnection);

while (readerRead())

SqlBinary binaryStream = readerGetSqlBinary(0);

例2 AdventureWorks2008数据库中的ProductionProductPhoto表含有图形列LargePhoto,数据类型是varbinary(max),可空。用GetSqlBinary方法检索图形数据的代码如下:

private void ReadPhoto(int documentID)    //输入参数documentID是产品ID

{

using (SqlConnection connection = new SqlConnection(GetConnectionString()))

{

thislabel1Text = documentIDToString();

try

{

string queryString = "SELECT LargePhoto FROM ProductionProductPhoto " +

"WHERE ProductPhotoID=@ProductPhotoID";

SqlCommand command = new SqlCommand(queryString, connection);

SqlParameter paramID = new SqlParameter("@ProductPhotoID", SqlDbTypeInt);

paramIDValue = documentID;

commandParametersAdd(paramID);

connectionOpen();

//修改DataReader的默认行为

SqlDataReader reader = commandExecuteReader(

CommandBehaviorSequentialAccess|CommandBehaviorCloseConnection);

if (readerHasRows)

{

while (readerRead())

{

if (readerIsDBNull(0))

return;

else

{

Stream s = new MemoryStream();

SqlBinary binaryStream = readerGetSqlBinary(0);

//根据SqlBinary值初始化SqlBytes类的新实例

SqlBytes bytes = new SqlBytes(binaryStream);

using (Bitmap productImage = new Bitmap(bytesStream))

{

//用gif格式保存图形

productImageSave(s, SystemDrawingImagingImageFormatGif);

thispictureBox1Image = SystemDrawingImageFromStream(s);

}

sClose();

} }

}

else

MessageBoxShow("No records returned");

}

catch (Exception ex)

{

MessageBoxShow(exMessage);

} }

}

下图为documentID=100的自行车类型

以上示例取自C#编程指南但尧编著清华大学出版社2011年1月

以上就是关于android 如何获取保存的图片的地址 并存到数据库中全部的内容,包括:android 如何获取保存的图片的地址 并存到数据库中、如何向数据库中添加图片,并显示出来。asp.net实现。这个必须要源码啊。、oracle 数据库如何建立索引 如何用索引等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9668863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存