2016-02-01 76 views
-1

我有一個使用SQL創建和登錄用戶的登錄系統。我還在登錄頁面上有一條更新SQL語句,它將顯示您上次登錄的數據。由於某些原因,我的SQL代碼無法正常工作。上次登錄失敗的SQL代碼

這裏是我的代碼:

UPDATE logins SET lastlogon = NOW() WHERE username = @user

當我執行這條SQL語句時不更新由於某種原因,這是行不通的數據庫。我正在使用Asp.net 4.5。這也是MYSQL的代碼,如果這將有所作爲。我做了一些研究,有些人說過一些關於格式化的東西,但我一直無法修復我的mysql代碼。我想我的代碼更新數據庫,以便我可以看到誰在哪個時間登錄。我的代碼不會拋出一個特定的錯誤,但它不起作用。

更新我現在知道它可能不是SQL代碼,它是C#後端。

因此,這裏是我的代碼:

data connection = new data(); 
connection.newconnection(); 
MySqlCommand update = new MySqlCommand("UPDATE logins SET lastlogon = NOW() WHERE username = '@user'", connection.connect); 
update.Parameters.AddWithValue("@user", HttpContext.Current.User.Identity.Name.ToString()); 
update.ExecuteNonQuery(); 
FormsAuthentication.RedirectFromLoginPage(username.Text, false); 
connection.closeconnection(); 
update.Dispose(); 
+0

此代碼在語法上是正確的。你將不得不做一些調試,以確定它爲什麼「不工作」。它會被執行嗎? '@ user'的價值是什麼?當您使用相同的值手動執行此語句時會發生什麼? – David

+0

@David我已經能夠手動執行它,而不是代碼 –

+1

然後,其他的東西是錯誤的。我們看不到你的代碼,所以我們不知道是什麼。你將不得不調試這個來發現問題。 – David

回答

0

好吧,我只是想通了。出於某種原因,我把登錄重定向到更新sql數據庫的代碼行下面,因此它沒有用戶更新。

1

我不認爲你需要的'周圍@user。參數化查詢將填入。

UPDATE logins SET lastlogon = NOW() WHERE username = @user 
+0

我只是去嘗試,並沒有什麼幫助 –

+0

@AidenGrossman請發表您收到的任何異常或可吞嚥。 –

+0

該應用程序並沒有把它只是沒有工作 –