--建立数据库
create database test
--使用该数据库
use test
--建立存放图片的表
create table piclist(
id int Identity primary key,
pic Image not null
)
2、制作上传图片的模块,代码如下:
前台html代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UpPhoto.aspx.cs" Inherits="Test_UpPhoto" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="UpPhoto" name="UpPhoto" runat="server" type="file" />
<asp:Button id="btnAdd" runat="server" Text="上传" OnClick="btnAdd_Click"></asp:Button>
</div>
</form>
</body>
</html>
后台代码:
using System
using System.Data
using System.Configuration
using System.Collections
using System.Web
using System.Web.Security
using System.Web.UI
using System.Web.UI.WebControls
using System.Web.UI.WebControls.WebParts
using System.Web.UI.HtmlControls
using System.IO
using System.Data.SqlClient
public partial class Test_UpPhoto : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnAdd_Click(object sender, EventArgs e)
{
//获得图象并把图象转换为byte[]
HttpPostedFile upPhoto = UpPhoto.PostedFile
int upPhotoLength = upPhoto.ContentLength
byte[] PhotoArray = new Byte[upPhotoLength]
Stream PhotoStream = upPhoto.InputStream
PhotoStream.Read(PhotoArray, 0, upPhotoLength)
//连接数据库
string ConStr = "server=(local)user id=sapwd=sadatabase=test"
SqlConnection conn = new SqlConnection(ConStr)
string strSql = "Insert into piclist(pic) values(@pic)"
SqlCommand cmd = new SqlCommand(strSql, conn)
cmd.Parameters.Add("@pic", SqlDbType.Image)
cmd.Parameters["@pic"].Value = PhotoArray
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Response.Write("图片上传成功")
}
}
3、制作显示图片的模块(单独显示图片,即没用到datalist):
后台代码:
using System
using System.Data
using System.Configuration
using System.Collections
using System.Web
using System.Web.Security
using System.Web.UI
using System.Web.UI.WebControls
using System.Web.UI.WebControls.WebParts
using System.Web.UI.HtmlControls
using System.Data.SqlClient
using System.IO
public partial class Test_ShowPhoto : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
//连接数据库
string ConnStr = "server=(local)user id=sapwd=sadatabase=test"
string strSql = "select * from piclist"
SqlConnection conn = new SqlConnection(ConnStr)
conn.Open()
SqlCommand cmd=new SqlCommand(strSql,conn)
SqlDataReader reader = cmd.ExecuteReader()
while (reader.Read())
{
Response.ContentType = "application/octet-stream"
Response.BinaryWrite((Byte[])reader["pic"])
Response.Write("successful")
}
reader.Close()
conn.Close()
Response.End()
}
}
}
补充步骤3,用datalist显示图片方法:
建立两个asp.net 页面,名称为piclist.aspx和StreamImg.aspx。
piclist.aspx前台代码为:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="piclist.aspx.cs" Inherits="Test_Test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="dlContent" runat="server" Width="554px">
<ItemTemplate>
<table cellpadding="0" cellspacing="0">
<tr>
<td style="width: 554pxtext-align: leftbackground-image: url(Image/标头.jpg)height: 26px">
<img id='img1' src='StreamImg.aspx?id= <%# DataBinder.Eval(Container.DataItem,"id") %>'>
</a>
</a>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</div>
</form>
</body>
</html>
piclist.aspx后台代码为:
using System
using System.Data
using System.Configuration
using System.Collections
using System.Web
using System.Web.Security
using System.Web.UI
using System.Web.UI.WebControls
using System.Web.UI.WebControls.WebParts
using System.Web.UI.HtmlControls
using System.Data.SqlClient
using System.IO
public partial class Test_Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//连接数据库
string ConnStr = "server=(local)user id=sapwd=sadatabase=test"
SqlConnection sqlcon = new SqlConnection(ConnStr)
sqlcon.Open()
string sqlstr = "select id from piclist"
SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlcon)
DataSet ds = new DataSet()
MyAdapter.Fill(ds, "tb_pic")
this.dlContent.DataSource = ds
this.dlContent.DataBind()
sqlcon.Close()
}
}
}
StreamImg.aspx无前台代码,后台代码为:
using System
using System.Collections
using System.Configuration
using System.Data
using System.Linq
using System.Web
using System.Web.Security
using System.Web.UI
using System.Web.UI.HtmlControls
using System.Web.UI.WebControls
using System.Web.UI.WebControls.WebParts
using System.Xml.Linq
using System.Data.SqlClient
using System.IO
public partial class StreamImg : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//string type = Request.QueryString["pt"]
int id = Convert.ToInt32(Request.QueryString["id"])
ShowPic(id)
}
private void ShowPic(int id)
{
//连接数据库
string ConnStr = "server=(local)user id=sapwd=sadatabase=test"
string strSql = "select * from piclist where id='"+ id +"'"
SqlConnection conn = new SqlConnection(ConnStr)
conn.Open()
SqlCommand cmd = new SqlCommand(strSql, conn)
SqlDataReader reader = cmd.ExecuteReader()
while (reader.Read())
{
Response.ContentType = "application/octet-stream"
Response.BinaryWrite((Byte[])reader["pic"])
Response.Write("successful")
}
reader.Close()
conn.Close()
Response.End()
}
}
Connectionname:test
DBMS
?
?
?
?
?
:INF
User
name
?
?
?:studyerp
DB
Password
?
?:studyerp/studyerp
Conn.
info
?
?
:Don't
Know
how
to
write
Reconnect
type
:(Not
selected/Selected)
这里配置好后,据说还需要在两个DB之间建立信任关系。不同的数据库不知道是否可以,我们公
司同一数据库就是通过建立不同数据库之间的信任关系来直接将数据相互传输的。
查看原帖>>
希望采纳
ABAP的一些特性。1、ABAP/4 支持商业数据类型和 *** 作。您可以用特殊日期和时间字段进行计算。系统会自动执行必需的类型转换。
2、ABAP/4 报表程序用于分析数据库表中的数据。这种分析的结果可以显示在屏幕上或发送到打印机上。逻辑数据库支持报表程序。
3、ABAP/4 允许您定义和调用子程序。也可以调用其他程序的子程序。参数能够以各种方式从子程序传递或传递到子程序。
4、ABAP/4 包含一种特殊子程序,叫做功能模块。您可以在中央库中创建和维护功能模块。在调用程序和子程序之间功能模块有一个明确定义的数据接口。它们能够以调用程序的独立模式进行分别测试。
5、ABAP/4 包含一个叫 Open SQL 的SQL子集。用Open SQL,您可以读取和访问数据库表,与所用的数据库系统无关。
6、ABAP/4将对话程序组织为包含对话模块的模块池。每个动态程序(由一个屏幕及其流逻辑组成的“动态程序”)都基于一个ABAP/4 对话程序。流逻辑包含对 ABAP/4对话模块的调用。
ABAP的一些优点。
1、ABAP/4是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。
2、ABAP/4具有事件驱动的特性。
3、ABAP/4和COBOL具有类似之处。
4、ABAP/4适合生成报表。
5、ABAP/4支持对数据库的 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)