Monday, February 20, 2012

query string is being truncated

Hi,
I have hit a brick wall with this. My code is as below


public void fillCustomer()
{
string connectionString = "server='local'; trusted_connection= true; integrated security=sspi; database='Mrbob'";
System.Data.SqlClient.SqlConnection dbConnection = new System.Data.SqlClient.SqlConnection(connectionString);
string queryString = "SELECT * FROM [Customer] WHERE ([CustomerID] = @.CustomerID)";
System.Data.SqlClient.SqlCommand dbCommand= new System.Data.SqlClient.SqlCommand();
dbCommand.CommandText = queryString;
dbCommand.Connection = dbConnection;
System.Data.IDataParameter param_CustomerID = new System.Data.SqlClient.SqlParameter();
param_CustomerID.ParameterName ="@.CustomerID";
param_CustomerID.Value = customerID;dbCommand.Parameters.Add("@.CustomerID", SqlDbType.Int);
dbCommand.Connection.Open();
System.Data.IDataReader dataReader = dbCommand.ExecuteReader();
dbCommand.Connection.Close();
while(dataReader.Read())
{
customerID = dataReader.GetInt32(0);
date = dataReader.GetDateTime(1);
eposCode = dataReader.GetInt32(2);
}
dataReader.Close();

}


The error I am getting is

Prepared statement '(@.CustomerID int)SELECT * FROM [Customer] WHERE ([CustomerID] = ' expects parameter @.CustomerID, which was not supplied.

As you can see from my queryString the @.CustomerID parameter is passed in. It seems as if the string is being truncated at 64 characters long. If I remove the paramter to pass the relevant infomration and pass in a customerID I know exists it works.

I am really stumped on this and would really appreciate any pointersfixed it, went away and came back to it a couple of hours later!!!! hope I haven't wasted anyones time

Cheers
Tom

No comments:

Post a Comment