将表列值存储到变量中(SQL Server)

Posted

技术标签:

【中文标题】将表列值存储到变量中(SQL Server)【英文标题】:Storing table column value into variable (SQL Server) 【发布时间】:2013-04-03 09:50:57 【问题描述】:

我已经被这个问题困扰了一段时间:我试图在特定条件下从表(数据库)中的列中保存一个值。

在下面的代码中,我试图将文本框 (sUserName) 的输入与表 (aspnet_Membership) 中的列 (UserName) 中的值进行比较。如果这些值相等,我想在列中获取特定的电子邮件值并将其保存为字符串变量。

如果 UserName(列)不等于 sUserName(文本框),那么我想显示一条错误消息(else 语句)。电子邮件和用户名列在同一个表中

   string sUserName = txtBoxUsername.Text;

    SqlConnection conn2 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\sunny\Visual Studio 2010\Projects\email\Prac 2\App_Data\aspnet_Membership.mdf;Integrated Security=True;User Instance=True");

    SqlCommand myCommand = new SqlCommand("SELECT Email FROM aspnet_Membership WHERE UserName = sUserName", conn2);

【问题讨论】:

【参考方案1】:

只需将检查用户是否存在于您的代码中,例如:

     string sUserName = txtBoxUsername.Text;
    SqlConnection conn2 = new SqlConnection("Your SQL Connection");

        SqlCommand myCommand = new SqlCommand("SELECT Email FROM aspnet_Membership WHERE UserName = '"+ sUserName  + "'", conn2);

        SqlDataReader rdr = myCommand.ExecuteReader();
     if (dr.HasRows)
    
          while (rdr.Read())
        
                 // User exist - get email

                 string email = rdr["Email "].toString();

         
    
    else
    
          //Error! user not exist
    

最好的问候

【讨论】:

以上是关于将表列值存储到变量中(SQL Server)的主要内容,如果未能解决你的问题,请参考以下文章

将表定义克隆到 SQL Server 中的表变量

将表中的列值作为参数传递给存储过程 sql

PL/SQL 循环表列到变量

存储过程:将表名转换为表变量

SQL Server 从表变量插入临时表

SQL通过将表1与表2中的2个条件匹配来选择表列