我有以下代码:
string ConnString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
string SqlString = "Select * From Memberships WHERE ApplicationId = @username";
using(SqlConnection conn = new SqlConnection(ConnString)) {
using(SqlCommand cmd = new SqlCommand(SqlString, conn)) {
cmd.CommandType = CommandType.Text;
SqlParameter param = new SqlParameter();
param.ParameterName = "@username";
param.Value = UserName2.Text;
cmd.Parameters.Add(param);
conn.Open();
using(SqlDataReader reader = cmd.ExecuteReader()) {
test.DataSource = reader;
test.DataBind();
}
}
}
在这种情况下,代码在 DataBind() 上中断并出现以下错误:从字符串转换为唯一标识符时转换失败。这是因为我在查询中使用 ApplicationId 而不是 UserName。使用 UserName 一切正常。
我知道 GUID 导致了错误,但我不知道为什么以及如何修复它。