사용자 지정 로그인 컨트롤을 사용하여 로컬 SQL Server 데이터베이스에 액세스하는 웹 양식을 만들었습니다. 데이터베이스에는 직원에 대한 다양한 정보가 포함 된 Employees
이라는 테이블이 있지만 질문에 대한 관련 열은 EmployeeID
(기본 키), Username
및 Password
입니다.C#을 통해 SQL Server 데이터베이스에 쿼리하는 중 문제가 발생했습니다
EmployeeID
을 검색하기 위해 로그인 컨트롤에 입력 된 사용자 이름과 암호를 사용하여 데이터베이스를 쿼리하려고합니다. ExecuteScalar()
을 시도하면 예외가 throw됩니다. 예외는 '직원'이 잘못된 개체 이름이므로 내 문제가 연결 문자열로 의심됩니다. SQL Server 2014 Management Studio에서 데이터베이스의 속성을보고 연결 문자열을 검색했습니다.이 Studio에서는 데이터베이스도 만들었습니다. 또 다른 추측은 db에 연결할 때의 인증입니다. 나는 정말로 확실하지 않다. 그래서 누군가 제발 도와 줄 수 있냐?
string connectionString = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\Joshua\\AppData\\Local\\Microsoft\\VisualStudio\\SSDT\\SignProDatabase\\SignProDatabase.mdf;Integrated Security=True;Connect Timeout=30";
string query = "select EmployeeID from Employees where Username = 'user' and Password = 'pass'";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(query, connection);
try
{
object test = cmd.ExecuteScalar();
Console.WriteLine(test.ToString());
}
catch(Exception err)
{
Console.WriteLine("Exception Message: " + err);
Console.ReadLine();
}
연결 문자열은 신뢰할 수있는 보안 용입니다. 즉, 로그인 한 사용자 계정이 아닌 웹 사이트에 제공된 보안 계정을 사용하여 연결 중임을 의미합니다. –
cmd 란 무엇입니까? 나는 그것이 게시 된 코드에서 선언 된 것을 보지 못합니다. – Cosmin
제발, 모두의 사랑을 위해 ......... SQL 쿼리를 매개 변수화. 이 기사에서 "지금까지 해보지 않은 것"(위의 내용)을 찾아보다 나은 방법을 찾아보십시오. http://www.csharp-station.com/Tutorial/AdoDotNet/lesson06 – granadaCoder