Я полагаю, вы получаете ошибку здесь:
dtReader = objCmd.ExecuteReader();
И я предполагаю, что ошибка связана с "vaddress1".Это потому, что вам нужно добавить «vaddress1» в качестве параметра в ваш оператор SQL.Как то так:
strSQL = "select distinct address1, dbo.fn_calcJW(@vaddress1, address1) AS Expr1 FROM address ORDER BY Expr1 DESC";
OleDbDataReader dtReader;
objCmd = new OleDbCommand(strSQL, Connection);
objCmd.Parameters.Add("@vaddress1", SqlDbType.VarChar);
objCmd.Parameters["@vaddress1"].Value = vaddress1;
Возможные другие причины ошибок в вашем коде (это не является исчерпывающим, но поскольку вы не упомянули ничего конкретного):
txtchangeaddress1.Text
пусто / пусто - «sCon5» не был найден в коллекции
System.Configuration.ConfigurationManager.AppSettings
1014 * - В этой строке много возможных причин:
Connection.Open();
- Строка подключения неверна
- Сервер SQL недоступен
- У вас нет необходимых разрешений для доступа к SQL Server
- Ошибки в хранимой процедуре "dbo.fn_calcJW" выбрасываются в строке
dtReader = objCmd.ExecuteReader();
- На самом деле вы не добавляете параметры в оператор SQL.Это наиболее вероятная проблема, так как она испортит этот вызов хранимой процедуры.
dtReader = objCmd.ExecuteReader();
результатов не вернул, поэтому при вызове DataBind()
позже выдается ошибка
В серьезном примечании, пожалуйста, включите больше информации в свои сообщения здесь, чем "Я получаю ошибки при запуске этого кода".