у меня есть ошибка 1, когда я выполняю веб-вход с помощью asp.net

#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. ОКИ, я должен был протестировать его, но он не активен. «Предложение: Когда вы публикуете, пожалуйста, опубликуйте свой код в виде текста, а не изображения». я отредактирую его. Спасибо