Jump to content

SQLite DB и проблемы


Recommended Posts

Здравствуйте. Пишу я систему диалогов на базе данных SQLite, идущей прямо со стандартными настройками сервера МТА. Меня интересует пара вопросов:

1) Что нужно указать в запросе вместо table_name в executeSQLQuery, чтобы он находил таблицу, а потом мог сохранить в саму бд.

2) Как мне вывести в переменные значения, выданные запросом SELECT, для загрузки в окно.

Как собственно я делал:

1) Сохранение

par = dbQuery(databaza, "SELECT * FROM `dialog` WHERE `user`=? AND `usver`=?",  getPlayerName(us), getPlayerName(uv)) 
  
info = dbPoll(par, -1) 
if info ~= nil and info ~= false then  
  
      dbQuery(databaza, "UPDATE `dialog` SET `mess`=? WHERE `user`=? AND `usver`=?", msg, getPlayerName(us), getPlayerName(uv))  
  
      outputChatBox("Это существует") 
  
else  
  
      dbQuery(databaza, "INSERT INTO `dialog` (`user`, `usver`, `mess`) VALUES (?,?,?)", getPlayerName(us), getPlayerName(uv), msg)  
  
      outputChatBox("Этого не существует")  
end          
  

2) Загрузка

qur = dbQuery(databaza, "SELECT * FROM `dialog` WHERE `user`=? AND `usver`=?", user, usver) 
  
kitch = dbPoll(qur, -1) 
if kitch ~= nil and kitch ~= false then  
  
      triggerClientEvent(getPlayerFromName(user), "onClientUpdateMessageBox", getPlayerFromName(user), kitch[3])  
  
end 

В данном случае определялась таблица, но отправить в чат её данные я никак не смог, потому что не могу понять, что входит в таблицу kitch.

Как собственно мне предложили сделать:

1) Сохранение

info = executeSQLQuery("SELECT * FROM `dialog` WHERE `user`=? AND `usver`=?", getPlayerName(us), getPlayerName(uv)) 
  
if info then  
  
      executeSQLQuery("UPDATE `dialog` SET `mess`=? WHERE `user`=? AND `usver`=?", msg, getPlayerName(us), getPlayerName(uv))  
  
      outputChatBox("Это существует") 
  
else  
  
      executeSQLQuery("INSERT INTO `dialog` (`user`, `usver`, `mess`) VALUES (?,?,?)", getPlayerName(us), getPlayerName(uv), msg)  
  
      outputChatBox("Этого не существует")  
end  
  

2) Загрузка

kitch = executeSQLQuery("SELECT * FROM `dialog` WHERE `user`=? AND `usver`=?",  user, usver) 
  
if kitch then 
  outputChatBox("Да, таблица") 
  
  for i, mesese in ipairs(kitch) do  
  
    outputChatBox("Поймано, "..mesese.user.." "..mesese.usver.." "..mesese.mess)  
  
  end 
  
else  
      outputChatBox("Не, не таблица")  
end 

В итоге таблицу вообще не читает, так как не может выполнить запрос из за непонятной таблицы `dialog`, а kitch вообще не выполнялась (из за таблицы), поэтому я не могу проверить метод с переменными в цикле.

Что мне делать, не пойму. MySQL использовать в данном случае мне не нужно. Просто в таблицу ресурса пихать всё, и всё.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...