0

对于愿意提供帮助的人,我还有另一个问题。这应该相当容易,但无论出于何种原因,我似乎都无法做到。我正在使用 Visual Studio 08 在 C# 中创建一个 asp.net 网站

我试图让用户注册,这一切都很好,并且让新用户默认为用户而不是管理员。我正在使用 .MDB 作为存储所有内容的位置。

是否可以在我的初始 sql 查询中执行此操作?目前我的代码看起来像

strSQL = "Insert into tblUserLogin " +
            "(UserFirstName, UserLastName, UserName, UserPassword, UserAddress, UserCity, UserState, UserZipCode, UserEmail, UserPhone, ) values ('" +
            UserFirstName + "', '" + UserLastName + "', '" + UserName + "', '" + UserPassword + "', '" + UserAddress +
            "', '" + UserCity + "', '" + UserState + "', '" + UserZipCode + "', '" + UserEmail + "', '" + UserPhone +
        "')";
    // set the command text of the command object
    command.CommandType = CommandType.Text;
    command.CommandText = strSQL;
    // Execute the insert statement
    command.ExecuteNonQuery();

这将成功地将所有内容发布到 .MDB 中,并将 SecurityLevel 列下的单元格留空。

我试图添加

 "(UserFirstName, UserLastName, UserName, UserPassword, UserAddress, UserCity, UserState, UserZipCode, UserEmail, UserPhone, SecurityLevel=U )

但这并没有像我希望的那样工作。有没有一种简单的方法可以将该值 SecurityLevel 默认为 U 而无需任何人指定它?

感谢您的时间

4

1 回答 1

0

如果我理解正确,只需'U'SecurityLevel列 使用 const 值

strSQL = "INSERT INTO tblUserLogin " +
         "(UserFirstName, UserLastName, " + 
         " UserName, UserPassword, " +
         " UserAddress, UserCity, " +
         " UserState, UserZipCode, " +
         " UserEmail, UserPhone, SecurityLevel) " +
         "VALUES (" + 
           UserFirstName + "', '" + UserLastName + "', '" + 
           UserName + "', '" + UserPassword + "', '" + 
           UserAddress + "', '" + UserCity + "', '" + 
           UserState + "', '" + UserZipCode + "', '" + 
           UserEmail + "', '" + UserPhone + "', 'U')"; // pass a const value for SecurityLevel column
// the rest of your code goes here

附带说明:您的代码容易受到 sql 注入的攻击。学习和使用准备好的(参数化)语句,而不是动态构建查询字符串。

于 2013-06-20T04:24:45.383 回答