2014-02-13 4 views
0

В основном проблема заключается в том, как написать синтаксис sql в C#, чтобы вставить какое-то значение в определенное место таблицы. в моей базе данных есть таблица под названием users_log и три столбца UserID, UserPassword и LogedTime. Оба значения UserID и User PassWord уже заполнены значениями. но я хочу вставить пользователя. Войдите в систему до LogedTime, когда пользователь входит в систему. Но он должен быть вставлен в место (LogedTime), в котором пользователь входит в систему. Моя вставка sqlString показывает null reference при запуске. это мой кодПроблема с синтаксисом mysql в C# .net

public void logedTime() 
{ 
     MySqlConnection con1 = new MySqlConnection(sqlCon); 
     con1.Open(); 

     DateTime dt = DateTime.Now; 
     string logedTime = dt.ToString(); 

     string timeIns = "insert into users_log(LogedTime) values('" + logedTime + "') where UserID='"+dataR["UserID"]+"';"; 

     MySqlCommand cd1 = new MySqlCommand(timeIns, con1); 

     dataR = cd1.ExecuteReader(); 
     con1.Close(); 
} 
+1

Ваш фрагмент кода не является полным , где определяется и заполняется 'dataR'? –

+0

ahh его определенная сторона метода, чтобы сделать ее общедоступной – user3304413

+0

dataR является mysqlDataReader – user3304413

ответ

5

Это ваш запрос:

insert into users_log(LogedTime) 
    values('" + logedTime + "') 
    where UserID='"+dataR["UserID"]+"'"; 

Это не правильный синтаксис для insert. Я подозреваю, что вы хотите, чтобы update:

update users_log 
    set logedTime = ".logedTime ." 
    where UserID='"+dataR["UserID"]+"'"; 

EDIT:

Если вы действительно хотите, чтобы вставить другую запись, то синтаксис будет:

insert into users_log(userId, LogedTime) 
    values('"+dataR["UserID"]+"', '" + logedTime + "'); 
+0

это то же самое, что и код в C#? – user3304413

+2

@ пользователь3304413. , , Оператор SQL - это оператор SQL, поэтому вы должны поместить его в свой код C#. –

+0

это не работает – user3304413

Смежные вопросы