如何解决如何用表格数据填充文本框?
| 我有一张桌子,我有文本框,让我们建立联系!我正在使用ASP.NET和sql server2008;我已经将连接字符串编码到webconfig文件中,但是我想知道如何使用表中的特定字段填充特定的文本框。更具体地说,用户将在主页上提交数据,然后有机会在编辑页面上编辑该数据。我知道,会话是执行此操作的最简单方法,但是我的培训师特别禁止这样做,因为高流量会导致会话对象出现问题,并命令我使用sql连接。他是老板。那么,如何获取刚从主页插入的数据以显示在编辑页面上的可编辑文本框中?解决方法
看一看:数据绑定
您可以使用FormView显示存储在SQL Server上的数据。
您必须像这样定义SqlDataSource:
<asp:SqlDataSource
id=\"SqlDataSource1\"
runat=\"server\"
DataSourceMode=\"DataReader\"
ConnectionString=\"<%$ ConnectionStrings:MyNorthwind%>\"
SelectCommand=\"SELECT FirstName,LastName,Title FROM Employees\">
</asp:SqlDataSource>
然后,您可以像这样使用FormView:
<asp:FormView ID=\"FormView1\"
DataSourceID=\"SqlDataSource1\"
DataKeyNames=\"ProductID\"
RunAt=\"server\">
<ItemTemplate>
<table>
<tr>
<td align=\"right\"><b>Product ID:</b></td>
<td><%# Eval(\"ProductID\") %></td>
</tr>
<tr>
<td align=\"right\"><b>Product Name:</b></td>
<td><%# Eval(\"ProductName\") %></td>
</tr>
<tr>
<td align=\"right\"><b>Category ID:</b></td>
<td><%# Eval(\"CategoryID\") %></td>
</tr>
<tr>
<td align=\"right\"><b>Quantity Per Unit:</b></td>
<td><%# Eval(\"QuantityPerUnit\") %></td>
</tr>
<tr>
<td align=\"right\"><b>Unit Price:</b></td>
<td><%# Eval(\"UnitPrice\") %></td>
</tr>
</table>
希望能有所帮助。
,您可以执行SELECT命令,然后使用以下代码将所有数据放入TextBox中:
YourTextBox.Text = yourDBValue;
,假设存在某种登录系统(即,您至少可以标识您的用户),则任务非常简单。
当用户在主页/数据输入页面上输入数据时,您将验证数据服务器端,并假设一切正常,请将该数据存储在当前用户的数据库中。因此,也许他们正在输入自己的地址(例如)。您可能会有这样的事情:
// NB: this is NOT code,just shorthand for a hypothetical database schema
Table: User
Columns: User_ID,Email,Name
Table: Address
Columns: User_ID (foreign key into User),Line1,Line2,... PostCode,Country ... (you get the picture)
因此,在他们输入数据之后,您可以将详细信息存储到该表中,并将User_ID设置为当前用户的ID。
然后,在编辑页面上,您可以查找当前用户的现有地址详细信息,并将页面上文本框的值设置为各种列值。
更好的是,您也可以将编辑页面设置为初始输入页面,如果找不到现有数据,则将文本框留空,从而节省了编写2个单独页面的时间。
如果您没有这种模式,则没有用户帐户或其他名称,但是数据是特定于用户的,您仍然可以使用这样的方案,但是可以在User_ID上键入Address
表,而不是您分配给用户并存储在用户会话中的值,例如GUID。这样一来,您至少可以在会话期间跟踪用户。要扩展此范围,您可以将此值写入cookie,记住要设置到期日期,这将允许您跟踪多个会话,直到cookie过期或它们更改浏览器等为止。
Table: Address
Columns: Session_Guid,Country ...
这是大多数具有登录名的网站的基础,它们使用cookie中的唯一值来跟踪用户。
,您在问如何获取文本框,输入一些数据,然后将其提交到数据库?
那么插入语句?我会使用LINQ,但是我不确定您是否正在使用它。或准备一个处理插入内容的存储过程。但是,以最简单的形式:
try {
using ( SqlConnection conn = new SqlConnection(cstr)) {
SqlParameter name = cmd.Parameters.Add( \"@name\",SqlDbType.NVarChar,15 );
name.Value = TextBox1.Text;
string insertString = @\"insert into Table(columnName) values (@name)\";
SqlCommand cmd = new SqlCommand(insertString,conn);
cmd.ExecuteNonQuery();
}
} catch (Exception ex) {
//do some logging
} finally {
conn.Close();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。