我有一个简单的数据库,其中存储有书籍信息。 2本小说书籍和2本类别书籍..
例如:一本技术书;姓名,描述,isbn,作者,出版物,价格,图像
在数据库中,我没有存储实际图像,图像行只有图像的名称。例如cprog.jpeg我想在索引8
我将图像存储在项目的images文件中。 现在,我正在以div而不是gridview显示书籍。这显示很好,除了我不知道如何做图像。
我的问题是如何从数据库中显示正确的图像?请记住,我有几张图片。
strBooksInCategory = "<div>";
foreach (DataTable table in dsgrid2.Tables)
{
foreach (DataRow row in table.Rows)
{
strBooksInCategory +=
"<div style=\"height:150px;\">"
+ " <div style=\"border-style:solid;height:100px;width:100px;float:left;\"> Image </div>"
+ " <div style=\"height:110px;float:left;padding-left:10px;\">"
+ " <div style=\"height=auto;left-margin:10px;\">" + row[0] + "</div>"
+ " <div style=\"height=auto;left-margin:10px;\">" + row[1] + "</div>"
+ " <div style=\"height=auto;left-margin:10px;\">" + row[2] + "</div>"
+ " <div style=\"height=auto;left-margin:10px;\">" + row[3] + "</div>"
+ " <div style=\"height=auto;left-margin:10px;\">" + row[4] + "</div>"
+ " <div style=\"height=auto;left-margin:10px;\">" + row[5] + "</div>"
+ " </div>"
+ "</div>";
strBooksInCategory += "<div style=\"height:10px;width=100%;\"></div>";
//foreach (DataColumn column in table.Columns)
//{
// strBooksInCategory += "<div style=\"border-style:solid;\">" + row[column] + "</div>";
//}
}
}
strBooksInCategory += "</div>";
以下是我如何从数据库中提取数据的功能:
private DataSet GetDataSet2()
{
// SQLiteConnection sqlite = new SQLiteConnection("Data Source=/path/to/file.db");
//SQLiteConnection sqlite = new SQLiteConnection( "Data Source=" + Server.MapPath(@"~\App_Data\bookDB.db"));
// SQLiteDataAdapter ad;
string cid = Server.UrlDecode(Request.QueryString["Category"]);
//string Cname = Request.QueryString["CategoryDescription"];
lblCategory.Text = cid;
DataSet ds2 = new DataSet();
// this.TextBox1.Text = cid;
String connectionString = "Data Source=" + Server.MapPath(@"~\App_Data\bookDB.db");
String selectCommand = String.Format("Select * from Book where CategoryName = '{0}'", Request.QueryString);
SQLiteConnection myConnection = new SQLiteConnection();
myConnection.ConnectionString = connectionString;
myConnection.Open();
SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter(selectCommand, myConnection);
myConnection.Close();
// DataSet ds = new DataSet();
dataAdapter.Fill(ds2);
return ds2;
}
到目前为止,使用上面的代码在div中显示我的2本书
答案 0 :(得分:1)
如果这只是HTML,则使用<img src="url" alt="some_text"/>
,其中url将是存储图像的目录和图像名称的组合。
答案 1 :(得分:0)
我认为他们所说的并不是将数据存储在数据库中。将图像存储在磁盘上的文件夹中。仅将图像名称存储在数据库中,然后将图像名称附加到图像所在的路径。
答案 2 :(得分:0)
你在哪里
+ " <div style=\"border-style:solid;height:100px;width:100px;float:left;\"> Image </div>"
您需要标记但仍可以使用变量来显示正确的图像。 将映像目录的根路径保存在一个变量中。然后附加唯一的图像名称。
imagepath = imagedir + row[n];
然后在重复的行中使用它:
+ "<img src='" + imagepath + "' alt='' height='100' width='100'>"
您可能需要稍微调整一下css以使其全部正确定位,但这会将动态图像放入每一行。
答案 3 :(得分:0)
使用html image标签,提及带有filename的src属性,该属性由dataset返回。还有一件事要使用Select * from
只使用所需的列名,这样可以提高安全性。
建议
"<img src='" + Your Dataset ReturnedFileName + "'/>"