Как вставить значения в sqlite3 с помощью autohotkey

Моя проблема в том, что я не могу вставить значения в sqlite3 с помощью ключа autohot.

Мой код:

MyName := name
myTel := telphonenumber


$sSQL := "insert into myTable Values ('" %MyName% "', " %myTel% ");"

и я также пробовал с ,

$sSQL := "insert into myTable Values ( ' " . MyName . " ', " . myTel . ");"

Но ни то, ни другое не работает.

Любое предложение приветствуется..


person Rohita Khatiwada    schedule 09.06.2011    source источник


Ответы (2)


Я раньше не использовал AHK с SQLite, но у вас проблемы только с этим запросом? Попробуйте это (обратите внимание на отсутствие двоеточия перед знаком равенства):

$sSQL = "insert into myTable Values ('%MyName%', '%myTel%');"

Ваша вторая попытка дает запрос, который технически действителен, но он помещает пробелы по обе стороны от имени в базе данных («Джон» будет «Джон»). Также я предполагаю, что вы действительно не хотите использовать числовое поле в своей базе данных для номера телефона? Если число начинается с 0 или слишком велико, у вас могут возникнуть проблемы. Версия выше вставит его как строку.

person Gary Hughes    schedule 10.06.2011
comment
Да, вы правы насчет места, и в моем случае это было причиной проблемы. Предоставленное вами решение сохранит значение как %MyName% %myTel% в таблице. Потому что, когда он видит цитату, он рассматривает ее как строковое значение. - person Rohita Khatiwada; 10.06.2011
comment
Я не уверен, что ты имеешь в виду. Опубликованная строка создаст строку, в которой %MyName% и %myTel% будут заменены их значениями. После присвоения значений %MyName% и %myTel% в тестовом сценарии и добавления «MsgBox %$sSQL%» я вижу правильный запрос. - person Gary Hughes; 10.06.2011

MyName := name
myTel := telphonenumber

$sSQL := "insert into myTable Values ('" MyName "', '" myTel "');"

Я предпочитаю помещать номер телефона также в апостроф. если у вас нет номера телефона, то ошибки нет:

insert into myTable Values ('John', '' );

и как правильно сказал Гэри: "Если число начинается с 0 или... вопросов". выбор номера телефона
0177... даст вам позже 177...

лучше также использовать строку для номера телефона, а не числовой формат.

create table myTable
(
    name TEXT
    phone TEXT
) ;
person SL5net    schedule 27.11.2018