问题描述
我正在查看ASP.NET,我希望能够使用用户在SELECT
查询中的文本框中键入的值来获取该记录。
例如,用户在文本框中键入“ 1234”,sql SELECT
查询将从数据库中获取具有主键值“ 1234”的记录并将其显示在页面上。这有可能吗(以编程方式)?我也在ASP.NET网站上使用C#。如果您能指出正确的方向,我将不胜感激。
解决方法
您需要一个ORM(对象关系映射器),例如实体框架,Dapper等。将对象(在应用程序中)与数据库对象(表,视图,sp ..etc。)映射。然后,您可以(从您的应用程序中)查询数据库,更新,删除,插入操作。
然后,从后面的代码中,获取选定的值,然后使用ORM在数据库上处理该值。
这基本上就是您所需要的。剩下的就是学习曲线!
,这是一个示例代码片段,可帮助您入门。基本上,您建立连接并提供文本框。文本值进入命令的 Parameters 集合中。
using (SqlConnection thisConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["YourSQLConnectionString"].ConnectionString))
{
SqlCommand queryCommand = thisConnection.CreateCommand();
try
{
// Open Connection
thisConnection.Open();
queryCommand.CommandText = @"select * from [YourTable] where id = @id";
queryCommand.Parameters.AddWithValue("@id",this.ID.Text);
SqlDataReader dr = queryCommand.ExecuteReader();
if (dr.Read())
this.message.Text = dr["id"].ToString();
else
this.message.Text = "ID not found";
}
catch (Exception ex)
{
this.message.Text = ex.Message;
}
}
}