I'm joining two tables - Contact and RetailTrainingUserLevelMap in a Select statement.
(The common column in both is the RetailTrainingUserLevelID int)
SELECT Contact.IntranetUserName, Contact.CompanyName, RetailTrainingUserLevelMap.RetailTrainingUserLevel
FROM Contact
INNER JOIN RetailTrainingUserLevelMap ON Contact.RetailTrainingUserLevelID = RetailTrainingUserLevelMap.RetailTrainingUserLevelID
AND Contact.RetailTrainingUserLevelID = RetailTrainingUserLevelMap.RetailTrainingUserLevelID
WHERE (Contact.IntranetUserName = @IntranetUserName)
If I run this statement through Visual Studio Query Builder(the test query window), and enter a value for "IntranetUserName" I get:
IntranetUserName:
John Joe
CompanyName:
Acme Inc.
RetailTrainingUserLevel:
Manager
This is my desired output, so far so good.
If I use this same select statement in my .cs codebehind using a SqlDataReader to bind labels to Some of these columns like this:
SqlCommand comm;
SqlConnection conn;
string intranetConnectionString = ConfigurationManager.ConnectionStrings["DataConnect"].ConnectionString;
conn = new SqlConnection(intranetConnectionString);
comm = new SqlCommand("SELECT Contact.IntranetUserName, Contact.CompanyName, RetailTrainingUserLevelMap.RetailTrainingUserLevel FROM Contact INNER JOIN RetailTrainingUserLevelMap ON Contact.RetailTrainingUserLevelID = RetailTrainingUserLevelMap.RetailTrainingUserLevelID AND Contact.RetailTrainingUserLevelID = RetailTrainingUserLevelMap.RetailTrainingUserLevelID WHERE (Contact.IntranetUserName = @IntranetUserName)", conn);
comm.Parameters.Add("@IntranetUserName", System.Data.SqlDbType.VarChar, 50);
comm.Parameters["@IntranetUserName"].Value = memberLoginName;
conn.Open();
SqlDataReader reader = comm.ExecuteReader();
while (reader.Read())
{
memberCompanyNameLabel.Text += reader["CompanyName"];
userLevelLabel.Text += reader["RetailTrainingUserLevel"];
}
reader.Close();
conn.Close();
I get the error "Input string was not in a correct format." here:
userLevelLabel.Text += reader["RetailTrainingUserLevel"];
What C# syntax needs to be changed here so I can get that value properly bound to my userLevelLabel?
Note:
RetailTrainingUserLevelID int
RetailTrainingUserLevel varchar (50)
Thanks for your time and knowledge.