name:test
DBMS
?
?
?
?
?
:INF
User
name
?
?
?:studyerp
DB
Password
?
?:studyerp/studyerp
Conn.
info
?
?
:Don't
Know
how
to
write
Reconnect
type
:(Not
selected/Selected)
这里配置好后,据说还需要在两个DB之间建立信任关系。不同的数据库不知道是否可以,我们公
司同一数据库就是通过建立不同数据库之间的信任关系来直接将数据相互传输的。
查看原帖>>
希望采纳
1、建所需数据库和表,语句如下:--建立数据库
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()
}
}
如果你不是basis的话数据库是不可以改动的。SAP中底层数据库是不允许改动的,对数据库的 *** 作都是将底层数据库中的数据取出来放在内表中,然后直接对内表进行 *** 作,内表 *** 作网上学习的例子很多的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)