Asp.net 数据和图像填充为两行。我想把它们捆成一行
我要第二次问这个问题。我要说清楚,这样你可以帮我:)好的,我们开始吧 我有一个注册程序。我把这个过程分成两页。第一页仅用于“个人信息”。然后,当我点击下一步按钮,下一页将出现(postbackURL)这个页面是“上传照片”页面。他们工作得很好!数据和图像显示在我的gridview控件上。但我的问题是:如下图所示。数据填充为两行!我希望它们只出现在一行中!我认为问题在于第1页的数据库没有继续。这就是为什么当我在第2页上传图像时,数据库会创建另一条记录。嗯……有什么问题:)我不知道怎么做。请帮忙 下表所示数据仅为虚拟数据。请不要当真。 以下是PersonalINFO.aspx页面的插入/更新代码:Asp.net 数据和图像填充为两行。我想把它们捆成一行,asp.net,database,image,photo,records,Asp.net,Database,Image,Photo,Records,我要第二次问这个问题。我要说清楚,这样你可以帮我:)好的,我们开始吧 我有一个注册程序。我把这个过程分成两页。第一页仅用于“个人信息”。然后,当我点击下一步按钮,下一页将出现(postbackURL)这个页面是“上传照片”页面。他们工作得很好!数据和图像显示在我的gridview控件上。但我的问题是:如下图所示。数据填充为两行!我希望它们只出现在一行中!我认为问题在于第1页的数据库没有继续。这就是为什么当我在第2页上传图像时,数据库会创建另一条记录。嗯……有什么问题:)我不知道怎么做。请帮忙 下
<asp:AccessDataSource runat="server" ID="AccessDataSource1" DeleteCommand="DELETE FROM [PendingRecords] WHERE [ID] = ?" InsertCommand="INSERT INTO [PendingRecords] ([Username], [Password], [FirstName], [LastName], [MiddleName], [Address], [Gender], [ContactNumber], [PlateNumber], [Color], [Brand], [LiscensedNumber]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" UpdateCommand="UPDATE [PendingRecords] SET [Username] = ?, [Password] = ?, [FirstName] = ?, [LastName] = ?, [MiddleName] = ?, [Address] = ?, [Gender] = ?, [ContactNumber] = ?, [PlateNumber] = ?, [Color] = ?, [Brand] = ?, [LiscensedNumber] = ? WHERE [ID] = ?" DataFile="_private/records.mdb" SelectCommand="SELECT * FROM [PendingRecords]">
<DeleteParameters>
<asp:parameter Name="ID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:parameter Name="Username" Type="String" />
<asp:parameter Name="Password" Type="String" />
<asp:parameter Name="FirstName" Type="String" />
<asp:parameter Name="LastName" Type="String" />
<asp:parameter Name="MiddleName" Type="String" />
<asp:parameter Name="Address" Type="String" />
<asp:parameter Name="Gender" Type="String" />
<asp:parameter Name="ContactNumber" Type="String" />
<asp:parameter Name="PlateNumber" Type="String" />
<asp:parameter Name="Color" Type="String" />
<asp:parameter Name="Brand" Type="String" />
<asp:parameter Name="LiscensedNumber" Type="String" />
<asp:parameter Name="ID" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:parameter Name="Username" Type="String" />
<asp:parameter Name="Password" Type="String" />
<asp:parameter Name="FirstName" Type="String" />
<asp:parameter Name="LastName" Type="String" />
<asp:parameter Name="MiddleName" Type="String" />
<asp:parameter Name="Address" Type="String" />
<asp:parameter Name="Gender" Type="String" />
<asp:parameter Name="ContactNumber" Type="String" />
<asp:parameter Name="PlateNumber" Type="String" />
<asp:parameter Name="Color" Type="String" />
<asp:parameter Name="Brand" Type="String" />
<asp:parameter Name="LiscensedNumber" Type="String" />
</InsertParameters>
</asp:AccessDataSource>
<script runat="server" type="text/c#">
protected void btnUpload_Click(object sender, EventArgs e)
{
{
byte[] imageSize = new byte
[FileUpload1.PostedFile.ContentLength];
HttpPostedFile uploadedImage = FileUpload1.PostedFile;
uploadedImage.InputStream.Read
(imageSize, 0, (int)FileUpload1.PostedFile.ContentLength);
// Create SQL Connection
OleDbConnection con = new OleDbConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["recordsConnectionString12"].ConnectionString;
// Create SQL Command
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "INSERT INTO PendingRecords([Image])" + " VALUES (@Image)";
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
OleDbParameter UploadedImage = new OleDbParameter
("@Image", OleDbType.VarBinary, imageSize.Length);
UploadedImage.Value = imageSize;
cmd.Parameters.Add(UploadedImage);
con.Open();
cmd.ExecuteNonQuery();
GridView1.DataSourceID = "";
GridView1.DataSource = SqlDataSource1;
GridView1.DataBind();
con.Close();
}
}
</script>
以下是在UploadPhoto.aspx页面中单击btnUpload_的代码:
<asp:AccessDataSource runat="server" ID="AccessDataSource1" DeleteCommand="DELETE FROM [PendingRecords] WHERE [ID] = ?" InsertCommand="INSERT INTO [PendingRecords] ([Username], [Password], [FirstName], [LastName], [MiddleName], [Address], [Gender], [ContactNumber], [PlateNumber], [Color], [Brand], [LiscensedNumber]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" UpdateCommand="UPDATE [PendingRecords] SET [Username] = ?, [Password] = ?, [FirstName] = ?, [LastName] = ?, [MiddleName] = ?, [Address] = ?, [Gender] = ?, [ContactNumber] = ?, [PlateNumber] = ?, [Color] = ?, [Brand] = ?, [LiscensedNumber] = ? WHERE [ID] = ?" DataFile="_private/records.mdb" SelectCommand="SELECT * FROM [PendingRecords]">
<DeleteParameters>
<asp:parameter Name="ID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:parameter Name="Username" Type="String" />
<asp:parameter Name="Password" Type="String" />
<asp:parameter Name="FirstName" Type="String" />
<asp:parameter Name="LastName" Type="String" />
<asp:parameter Name="MiddleName" Type="String" />
<asp:parameter Name="Address" Type="String" />
<asp:parameter Name="Gender" Type="String" />
<asp:parameter Name="ContactNumber" Type="String" />
<asp:parameter Name="PlateNumber" Type="String" />
<asp:parameter Name="Color" Type="String" />
<asp:parameter Name="Brand" Type="String" />
<asp:parameter Name="LiscensedNumber" Type="String" />
<asp:parameter Name="ID" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:parameter Name="Username" Type="String" />
<asp:parameter Name="Password" Type="String" />
<asp:parameter Name="FirstName" Type="String" />
<asp:parameter Name="LastName" Type="String" />
<asp:parameter Name="MiddleName" Type="String" />
<asp:parameter Name="Address" Type="String" />
<asp:parameter Name="Gender" Type="String" />
<asp:parameter Name="ContactNumber" Type="String" />
<asp:parameter Name="PlateNumber" Type="String" />
<asp:parameter Name="Color" Type="String" />
<asp:parameter Name="Brand" Type="String" />
<asp:parameter Name="LiscensedNumber" Type="String" />
</InsertParameters>
</asp:AccessDataSource>
<script runat="server" type="text/c#">
protected void btnUpload_Click(object sender, EventArgs e)
{
{
byte[] imageSize = new byte
[FileUpload1.PostedFile.ContentLength];
HttpPostedFile uploadedImage = FileUpload1.PostedFile;
uploadedImage.InputStream.Read
(imageSize, 0, (int)FileUpload1.PostedFile.ContentLength);
// Create SQL Connection
OleDbConnection con = new OleDbConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["recordsConnectionString12"].ConnectionString;
// Create SQL Command
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "INSERT INTO PendingRecords([Image])" + " VALUES (@Image)";
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
OleDbParameter UploadedImage = new OleDbParameter
("@Image", OleDbType.VarBinary, imageSize.Length);
UploadedImage.Value = imageSize;
cmd.Parameters.Add(UploadedImage);
con.Open();
cmd.ExecuteNonQuery();
GridView1.DataSourceID = "";
GridView1.DataSource = SqlDataSource1;
GridView1.DataBind();
con.Close();
}
}
</script>
受保护的void btnUpload\u单击(对象发送方,事件参数e)
{
{
字节[]图像大小=新字节
[FileUpload1.PostedFile.ContentLength];
HttpPostedFile uploadedImage=FileUpload1.PostedFile;
上载的edimage.InputStream.Read
(imageSize,0,(int)FileUpload1.PostedFile.ContentLength);
//创建SQL连接
OleDbConnection con=新的OleDbConnection();
con.ConnectionString=ConfigurationManager.ConnectionString[“recordsConnectionString12”]。ConnectionString;
//创建SQL命令
OleDbCommand cmd=新的OleDbCommand();
cmd.CommandText=“插入PendingRecords([Image])”+“值(@Image)”;
cmd.CommandType=CommandType.Text;
cmd.Connection=con;
OLEDB参数上传图像=新OLEDB参数
(“@Image”,OleDbType.VarBinary,imageSize.Length);
UploadeImage.Value=图像大小;
cmd.Parameters.Add(上传图像);
con.Open();
cmd.ExecuteNonQuery();
GridView1.DataSourceID=“”;
GridView1.DataSource=SqlDataSource1;
GridView1.DataBind();
con.Close();
}
}
UploadPhoto.aspx页面数据源代码:
<asp:SqlDataSource runat="server" id="SqlDataSource1" ProviderName="<%$ ConnectionStrings:recordsConnectionString12.ProviderName %>" ConnectionString="<%$ ConnectionStrings:recordsConnectionString12 %>" SelectCommand="SELECT * FROM [PendingRecords]" DeleteCommand="DELETE FROM [PendingRecords] WHERE [ID] = ?" InsertCommand="INSERT INTO [PendingRecords] ([Username], [Password], [FirstName], [LastName], [MiddleName], [Address], [Gender], [ContactNumber], [PlateNumber], [Color], [Brand], [LiscensedNumber]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" UpdateCommand="UPDATE [PendingRecords] SET [Username] = ?, [Password] = ?, [FirstName] = ?, [LastName] = ?, [MiddleName] = ?, [Address] = ?, [Gender] = ?, [ContactNumber] = ?, [PlateNumber] = ?, [Color] = ?, [Brand] = ?, [LiscensedNumber] = ? WHERE [ID] = ?">
<DeleteParameters>
<asp:parameter Name="ID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:parameter Name="Username" Type="String" />
<asp:parameter Name="Password" Type="String" />
<asp:parameter Name="FirstName" Type="String" />
<asp:parameter Name="LastName" Type="String" />
<asp:parameter Name="MiddleName" Type="String" />
<asp:parameter Name="Address" Type="String" />
<asp:parameter Name="Gender" Type="String" />
<asp:parameter Name="ContactNumber" Type="String" />
<asp:parameter Name="PlateNumber" Type="String" />
<asp:parameter Name="Color" Type="String" />
<asp:parameter Name="Brand" Type="String" />
<asp:parameter Name="LiscensedNumber" Type="String" />
<asp:parameter Name="ID" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:parameter Name="Username" Type="String" />
<asp:parameter Name="Password" Type="String" />
<asp:parameter Name="FirstName" Type="String" />
<asp:parameter Name="LastName" Type="String" />
<asp:parameter Name="MiddleName" Type="String" />
<asp:parameter Name="Address" Type="String" />
<asp:parameter Name="Gender" Type="String" />
<asp:parameter Name="ContactNumber" Type="String" />
<asp:parameter Name="PlateNumber" Type="String" />
<asp:parameter Name="Color" Type="String" />
<asp:parameter Name="Brand" Type="String" />
<asp:parameter Name="LiscensedNumber" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
您需要将ID从个人信息页面传递到上传页面(可能通过查询字符串) 然后,图像更新的查询应该是和update query,见下文
cmd.CommandText = "UPDATE PendingRecords SET [Image] = @Image WHERE ID = @ID";
现在将根据需要传入ID参数
如果参数在查询字符串中(/UploadPhoto.aspx?id=60)
错误:)“异常详细信息:System.Data.OleDb.OLEDBEException:没有为一个或多个必需参数提供值。”在这一行中“第76行:cmd.ExecuteOnQuery();”好的,我在我的quesry字符串中添加了该代码。新错误“System.Data.OleDb.OLEDBEException:Parameter@Image没有默认值。”@PetersonPilares我确信您添加Image参数失败。我已更新代码以显示图像参数和id参数。再次确认“异常详细信息:System.Data.OleDb.OLEDBEException:parameter@id没有默认值”。我复制粘贴代码并将其放入查询字符串中。嗯…我的网站url没有返回到/上传照片?id=60…只进入/UploadPhoto@PetersonPilares你使用gmail/yahoo聊天吗。。这样做很容易得到帮助。