#asp.net
Вопрос:
мои идеи: я выбираю идентификатор(макс) в таблице пользователи, чтобы написать логин пользователя таблицы. Я получаю ошибку:
«Не удалось выполнить преобразование при преобразовании значения varchar в тип данных int».
SELECT idUser FROM Users WHERE idUser = (SELECT MAX(idUser) FROM Users)
как исправить ошибку? Спасибо. ошибка img: Mycode, Моя ошибка
микод:
`` `using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; namespace Web_tintuc2 { public partial class DangKi : System.Web.UI.Page { private string connectString = @"Data Source=DESKTOP-
RT3QMVS; Начальный каталог =web_tintuc; Интегрированная безопасность=True;»; SqlConnection sql_connect; защищенная пустая загрузка страницы(отправитель объекта, параметры события e) {
} protected void btn_thoat_Click(object sender, EventArgs e) { Response.Redirect("Trangchu.aspx"); //Response.Write("lt;scriptgt;alert('Hello');lt;/scriptgt;"); } protected void btn_dangki_Click(object sender, EventArgs e) { sql_connect = new SqlConnection(connectString); sql_connect.Open(); string username = txt_username.Text; string phone = txt_Phone.Text; string password = txt_password.Text; string name = txt_name.Text; string ngaysinh = txt_brithday.Text; string diachi = txt_diachi.Text; string email = txt_Email.Text; DateTime aDateTime = DateTime.Now; string ngaydangki = aDateTime.ToString("yyyy-MM-dd HH:mm:ss"); // fomat kiểu ngày thánh trong sql server string active = "Actived"; string IdGruop = "2"; string gioitinh1 = "Nam"; String gioitinh2 = "Nữ"; string sql_check = "select Username from Userlogin where Username='" username "' "; SqlCommand sql1 = new SqlCommand(sql_check, sql_connect); SqlDataReader read = sql1.ExecuteReader(); if (read.Read() == true) Lb_thongbao.Text = "Username đã tồn tại"; read.Close(); if (Radio_nam.Checked == true) { string sql_insert_toUser = " insert into Users(HoTen,Diachi,Email,Dienthoai,gioitinh,ngaysinh,idGroup,ngaydangki,active ) values('" name "','" diachi "','" diachi "','" email "','" phone "','" gioitinh1 "','" ngaysinh "','" IdGruop "','" ngaydangki "','" active "')"; SqlCommand sqlcommand1 = new SqlCommand(sql_insert_toUser, sql_connect); sqlcommand1.ExecuteNonQuery(); string sql_id_users = "Select top 1 idUser from Users order by idUser desc"; string sql_insert_to_UserLogin = "insert into Userlogin(Username,Password,idUser) values('" username "','" password "','" sql_id_users "') "; SqlCommand sqlCommand2 = new SqlCommand(sql_insert_to_UserLogin, sql_connect); sqlCommand2.ExecuteNonQuery(); } else if (Radio_nu.Checked == true) { string sql_insert_toUser = " insert into Users(HoTen,Diachi,Email,Dienthoai,gioitinh,ngaysinh,idGroup,ngaydangki,active )values('" name "','" diachi "','" email "','" phone "','" gioitinh2 "','" ngaysinh "','" IdGruop "','" ngaydangki "','" active "')"; SqlCommand sqlcommand1 = new SqlCommand(sql_insert_toUser, sql_connect); sqlcommand1.ExecuteNonQuery(); string sql_id_users = " SELECT idUser FROM Users WHERE idUser = (SELECT MAX(idUser) FROM Users) "; string sql_insert_to_UserLogin = "insert into Userlogin(Username,Password,idUser) values('" username "','" password "','" sql_id_users "') "; SqlCommand sqlCommand_2 = new SqlCommand(sql_insert_to_UserLogin, sql_connect); sqlCommand_2.ExecuteNonQuery(); } } } }'' '
Ответ №1:
Ваша ошибка вытекает из вашего insert
заявления (строка 62). У вас есть одинарные кавычки вокруг переменной sql_id_users
. Удалите одинарные кавычки. Он обрабатывает значение varchar
так, как будто оно заключено в одинарные кавычки, но ожидает целое число.
Предложение: Когда вы публикуете, пожалуйста, размещайте свой код в виде текста, а не изображения.
Комментарии:
1. ОКИ, я должен был протестировать его, но он не активен. «Предложение: Когда вы публикуете, пожалуйста, опубликуйте свой код в виде текста, а не изображения». я отредактирую его. Спасибо