在SQL SELECT查询中使用ASP.NET TextBox的值

问题描述

我正在查看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;
                    
                }
            }
        }