微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何用表格数据填充文本框?

如何解决如何用表格数据填充文本框?

| 我有一张桌子,我有文本框,让我们建立联系!我正在使用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 举报,一经查实,本站将立刻删除。