File导入问题

yan9299 2008-04-11 09:24:53
我在同一页面连续用两个File,分别上传两个不同的字段到数据库。该怎么写啊?
问题补充:(就是两个File浏览好文件后,通过一个 导入 按纽将浏览的文件里的内容作为字段导入到数据库)
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yan9299 2008-04-11
  • 打赏
  • 举报
回复
一个的我这样写的,两个的不知道咋搞了啊。还请大家帮忙:

private void beginload(object sender, System.EventArgs e)
{
HttpPostedFile hpf = Request.Files[0];

if(hpf.FileName.Trim() == "")
{
ShowMessage("请选择要上传的手机号码文件");
return;
}

string strFileName; //文件名
string strFileExtension; //文件扩展名
string Sqlstr;
string strNotes;
strNotes= TextBox_notes.Text.ToString();

strFileName = Path.GetFileName(hpf.FileName);
strFileExtension = Path.GetExtension(strFileName);

string strMobile;


//保存的文件名
string sSaveFileName = ".//DownloadFiles//";

sSaveFileName += DateTime.Now.Year.ToString();
sSaveFileName += DateTime.Now.Month.ToString("0#");
sSaveFileName += DateTime.Now.Day.ToString("0#");

sSaveFileName += strFileName;
sSaveFileName=Server.MapPath(sSaveFileName);
hpf.SaveAs(sSaveFileName);


//打开文件读
StreamReader sr = File.OpenText(sSaveFileName);

try
{
//导入号码到表中
while((strMobile= sr.ReadLine()) != null)
{
if(strMobile != "")
{

Sqlstr="insert into henanqunhu(user_id,flag) select '"+strMobile+"',"+iRegType+" from tb2";
Class.SqlDataExecute(Sqlstr);
}
}
}
catch(Exception ex)
{
sr.Close();
ShowMessage(ex.Message);
return;
}

sr.Close();
}
rangeon 2008-04-11
  • 打赏
  • 举报
回复
学习
lishuai686 2008-04-11
  • 打赏
  • 举报
回复
先把内容写进一个STRING 对象中,然后把这个对象的值写进数据库中就行了.
其实就是文件的读取和数据库的存操作,比较简单的.
lem12 2008-04-11
  • 打赏
  • 举报
回复

<%@ Page Language="C#" EnableViewState="true" %>

<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
string strCnn = "Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=(local);";
protected void Button1_Click( object sender, EventArgs e )
{
System.IO.Stream fileDataStream = FileUpload1.PostedFile.InputStream;

if (fileDataStream.Length < 1)
{
Msg.Text = "请选择文件。";
return;
}

//得到文件大小
int fileLength = FileUpload1.PostedFile.ContentLength;

//创建数组
byte[] fileData = new byte[fileLength];
//把文件流填充到数组
fileDataStream.Read(fileData, 0, fileLength);
//得到文件类型
string fileType = FileUpload1.PostedFile.ContentType;

//构建数据库连接,SQL语句,创建参数

SqlConnection myConnection = new SqlConnection(strCnn);
SqlCommand command = new SqlCommand("INSERT INTO UserPhoto (UserName,ContentType,Photo)" +
"VALUES (@UserName,@ContentType,@Photo)", myConnection);

command.Parameters.AddWithValue("@UserName", TextBox1.Text);
command.Parameters.AddWithValue("@ContentType", fileType);
command.Parameters.AddWithValue("@Photo", fileData);

//打开连接,执行查询
myConnection.Open();
command.ExecuteNonQuery();
myConnection.Close();
Response.Redirect(Request.RawUrl);
}


protected void Page_Load( object sender, EventArgs e )
{

if (!Page.IsPostBack)
{
BindGrid();
}
}

private void BindGrid( )
{
SqlConnection myConnection = new SqlConnection(strCnn);
SqlCommand myCommand = new SqlCommand("SELECT * FROM UserPhoto Order By id DESC", myConnection);

try
{
myConnection.Open();
GridView1.DataSource = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
GridView1.DataBind();
}
catch (Exception SQLexc)
{
Response.Write("提取数据时出现错误:" + SQLexc.ToString());
}
}
protected string FormatURL( object strArgument )
{
return "ReadImage.aspx?id=" + strArgument.ToString();
}

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>上传文件到数据库</title>
</head>
<body>
<form id="MengXianhui" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%#Eval("UserName") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<img src="<%#FormatURL(Eval("id")) %>" /></ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<br />
姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
照片:<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="Button1_Click"></asp:Button>
<p>
<asp:Label ID="Msg" runat="server" ForeColor="Red"></asp:Label></p>
</form>
</body>
</html>

lovehongyun 2008-04-11
  • 打赏
  • 举报
回复
一个的会写吗??
youaskme 2008-04-11
  • 打赏
  • 举报
回复
两个excel文件的导入和一个excel文件的导入没有多大区别啊,你导入数据库是用了哪种方式?
lovehongyun 2008-04-11
  • 打赏
  • 举报
回复
希望楼主能得到启发...
来个多文件的.
for(int i=0;i<Request.Files.Count;i++)
{
if(Request.Files[i].ContentLength >0)
{
string filename = System.IO.Path.GetFileName(Request.Files[i].FileName);
Request.Files[i].SaveAs(Server.MapPath(filename));
//.........
}


}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧