일부 도움이 필요합니다. 데이터베이스에 완전히 새로운 것이므로 지금 서버와 데이터베이스를 만들어서 C# 코드를 확인하여 주 양식에 액세스하기 전에 데이터베이스에서 확인하십시오. 이 오류 : System.Data.SqlClient.SqlException : ''tbl_LoginInfo '근처의 구문이 잘못되었습니다.'System.Data.SqlClient.SqlException : 'tbl_LoginInfo (내 코드에만 해당) 근처의 구문이 올바르지 않음
내 코드 :
private void Login_Button_Click(object sender, EventArgs e)
{
SqlConnection newconnect = new SqlConnection(@"Data Source=DESKTOP-3DH5S38\HR_SERVER;Initial Catalog=BMS_PRO_DB;Integrated Security=True");
string query = "Select * tbl_LoginInfo where Username = '" + UserName_Textbox.Text.Trim()+ "'and Password = "+Password_Textbox.Text.Trim();
SqlDataAdapter dataAdapter = new SqlDataAdapter(query, newconnect);
DataTable dataTable = new DataTable();
dataAdapter.Fill(dataTable);
if (dataTable.Rows.Count==1)
{
this.Hide();
MainForm mainForm = new MainForm();
mainForm.ShowDialog();
this.Close();
}
else
{
MessageBox.Show("Check Username/Password !");
}
}
'SQL'에서 '보낸 사람'을 잊어 버렸습니다 ;-)? – Reno
암호 앞에 공백이있을뿐만 아니라 아마도 작은 따옴표 묶음이 나옵니다. 사기. 문자열을 연결하여 sql 명령을 작성하지만 매개 변수화 된 쿼리를 사용하지 마십시오. – Steve
매개 변수화 된 쿼리는 단순한 오타가 아닌 SQL 주입과 관련된 심각한 문제를 방지합니다. 유명한 [Bobby Tables] (https://stackoverflow.com/)를 참조하십시오. 질문/332365/how-does-the-sql-injection-from-the-bobby-tables-xkcd-comic-work) – Steve