[SQL] 마이크로 소프트 액세스 2010 .accdb에 대한 SQL 연결 문자열
SQL마이크로 소프트 액세스 2010 .accdb에 대한 SQL 연결 문자열
나는 윈폼과 C #에서 액세스 2010 데이터베이스 (.accdb)를 사용하여 간단한 로그인 양식을하고있는 중이 야.
나는 다음과 같은 코드가 있으며 연결 문자열이 잘못된 것 같습니다. 나는 검색을 시도하고 .Jet 액세스 07에 대한 것으로 나타났습니다? 하지만이 나던 너무 작동하는 것. 난 (코드는 MSDN에서 참조) 데이터베이스에서 아마추어입니다. 나는 문제는 내가 너무이 예를 들어 사용해야하는 이해하는 데.
액세스 테이블 이름 : 하하
ID (PK) | password ----------------------- 1 | testing
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\BC207\test.accdb");
System.Data.SqlClient.SqlCommand comm = new System.Data.SqlClient.SqlCommand();
comm.CommandText = "SELECT HAHA(*) FROM password";
comm.CommandType = CommandType.Text;
comm.Connection = conn;
conn.Open();
Object returnValue = comm.ExecuteScalar();
conn.Close();
MessageBox.Show((string)returnValue);
편집 : 테이블의 이름이 암호입니다, 내가 값을 취득하려는 필드 ID입니다.
암호와 SELECT ID : SQL 문 나는대로 쓴
그리고 네, 기본 키와 같은 테이블에 하나의 필드에서 하나의 레코드 만.
어쨌든 문제는 첫 번째 줄에 실행시 프로그램 중지 -> 키워드는 지원되지 않습니다 '제공'을.
그래서 내가 잘못 연결 문자열을 가지고 생각 ..
해결법
-
==============================
1.대한 액세스 데이터베이스를 수 (.mdb, .accdb 등)의 경우, 다음과 같이되어 OleDbConnection하지도록 SqlConnection (SQL Server)를 사용하려면 :
대한 액세스 데이터베이스를 수 (.mdb, .accdb 등)의 경우, 다음과 같이되어 OleDbConnection하지도록 SqlConnection (SQL Server)를 사용하려면 :
conn = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\BC207\test.accdb")
-
==============================
2.편집 : 액세스는 OleDbConnection에 대한 지적 밖으로는,도록 SqlConnection하지 사용해야로 ...
편집 : 액세스는 OleDbConnection에 대한 지적 밖으로는,도록 SqlConnection하지 사용해야로 ...
당신은 훨씬 더 컴팩트 한 방법을 사용하고 또한 반드시 연결이 사용하는 문을 사용하여 예외가 발생하는 경우에도 가능한 경우 폐쇄 및 배치 할 수 있습니다 :
쿼리 텍스트는 다른 제안 아마 잘못로도했다 ...
using (var conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\BC207\test.accdb")) using (var comm = conn.CreateCommand()) { comm.CommandText = "SELECT password FROM HAHA"; comm.CommandType = CommandType.Text; conn.Open(); var returnValue = comm.ExecuteScalar(); MessageBox.Show(returnValue.ToString()); }
편집 : 당신은 하하가 하나 개의 행을 포함하는 테이블을 확실합니까? 당신이 1 열을 얻을하려는 경우 ExecuteScalar는은, 단 하나의 값을 반환하지만, 많은 기록에서 당신은 DataReader를 또는 데이터 집합을 사용할 수 있기 때문에 ...
-
==============================
3.
comm.CommandText = "SELECT HAHA(*) FROM password";
오기 '잘못된.
"하하로부터 암호 선택"
-
==============================
4.귀하의 SQL 문은해야한다
귀하의 SQL 문은해야한다
SELECT * from HAHA
또는
SELECT [Password] From HAHA
편집하다:
당신은 ConnectionString을 변경해야합니다.
from https://stackoverflow.com/questions/7764707/sql-connection-string-for-microsoft-access-2010-accdb by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL : 실시간 트랜스 (0) | 2020.06.13 |
---|---|
[SQL] 점진적는 OR 쿼리 식을 구축 [중복] (0) | 2020.06.13 |
[SQL] MS Access에서 CONCAT 동등한 (0) | 2020.06.13 |
[SQL] 어떻게 동적으로 PostgreSQL의 8.2 TG_TABLE_NAME를 사용 하는가? (0) | 2020.06.13 |
[SQL] MySQL 데이터베이스에서 PHP의 모든 테이블 이름을 표시 (0) | 2020.06.13 |