Существует 3 пути:
malloc()
, как другие предложенные плакаты. Не забывайте к free()
это (хотя для main()
не то, чтобы важный - ОС очистит память для Вас на завершении программы). static
к объявлению ограничит видимость единицей). static
- в этом случае он будет выделен в сегменте данных, но видимый только в main()
. Из MSDN:
Если для CommandType задано значение Text, поставщик данных .NET Framework для ODBC не поддерживает передачу именованных параметров в инструкцию SQL или хранимую процедуру, вызываемую OdbcCommand. . В любом из этих случаев используйте заполнитель с вопросительным знаком (?). Например:
SELECT * FROM Customers WHERE CustomerID = ?
Перепишите свой запрос в
OdbcConnection conn = new OdbcConnection(connString);
String query = "INSERT INTO customer (custId, custName, custPass, "+
"custEmail, custAddress, custAge) VALUES (" +
"?, ?, ?, ?, ?, ?)";
Порядок подсчета параметров!
РЕДАКТИРОВАТЬ: Параметр можно добавить следующим образом:
OdbcCommand exe = new OdbcCommand(query, conn);
exe.Parameters.Add("ID", OdbcType.UniqueIdentifier).Value = id;
exe.Parameters.Add("Name", OdbcType.VarChar).Value = name;
exe.Parameters.Add("Pass", OdbcType.VarChar).Value = pass;
exe.Parameters.Add("Email", OdbcType.VarChar).Value = email;
exe.Parameters.Add("Address", OdbcType.VarChar).Value = address;
exe.Parameters.Add("Age", OdbcType.Int).Value = age;
Вместо того, чтобы делать это программно, вы можете использовать переменные среды и настраиваемые шаблоны в файле конфигурации. См. Этот ответ на аналогичный вопрос .
Посмотрите на «PatternString для конфигурации на основе шаблонов» в примечаниях к выпуску Log4Net V1.2.10 .
Также, если вы думаете о запись в каталог, например Enviroment.SpecialFolder.CommonApplicationData, который необходимо учитывать:
Все ли экземпляры вашего приложения для всех пользователей будут иметь доступ для записи в файл журнала? Например, я не верю, что неадминистраторы смогут писать в Enviroment.SpecialFolder.CommonApplicationData.
Конфликт, если несколько экземпляров вашего приложения (для одного или разных пользователей) пытаются использовать один и тот же файл. Вы можете использовать " Пожалуйста, проверьте названия столбцов.
Обычно вы увидите это, если неправильно написали имя столбца в своем операторе SQL. Вы уверены в названиях этих столбцов (custId, custName и т. Д.)?
попробуйте изменить pass на passw, возможно, он перепутался с идентификатором asp ...