[SQL] SQL Server 데이터베이스에서 DataTable을 채우기
SQLSQL Server 데이터베이스에서 DataTable을 채우기
이것은 나를 위해 신비, 나는 그것을 반환하는 데이터 테이블이 비어있는 내 경우에, 다른 사람을했다 코드를 알고
CONSTR는 글로벌 문자열로 설정 한 연결 문자열입니다
public DataTable fillDataTable(string table)
{
string query = "SELECT * FROM dstut.dbo." +table;
SqlConnection sqlConn = new SqlConnection(conSTR);
sqlConn.Open();
SqlCommand cmd = new SqlCommand(query, sqlConn);
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
sqlConn.Close();
return dt;
}
EDIT 1 요점은 나중에에 TabControl에 데이터 그리드 뷰에서이 테이블을 보여주는 것입니다, 여기에에 대한 질문은 TabControl에 C #에서 여러 데이터 테이블을 표시
여기에 단지의 나에게 빈 DataGridView를 보여
EDIT 2 모두 시도, 나는 테이블을 표시하려고하면 DataGridView를가 비어있는 오른쪽 행의 양하지만 지금은 값이
해결법
-
==============================
1.변수 테이블 (공백 등) 잘못된 문자가 포함 된 경우에는 변수 대괄호를 추가해야합니다.
변수 테이블 (공백 등) 잘못된 문자가 포함 된 경우에는 변수 대괄호를 추가해야합니다.
public DataTable fillDataTable(string table) { string query = "SELECT * FROM dstut.dbo.[" + table + "]"; using(SqlConnection sqlConn = new SqlConnection(conSTR)) using(SqlCommand cmd = new SqlCommand(query, sqlConn)) { sqlConn.Open(); DataTable dt = new DataTable(); dt.Load(cmd.ExecuteReader()); return dt; } }
그런데, SQL 인젝션에 열려 있기 때문에 이러한 종류의 코드에 매우주의해야합니다. 나는 테이블 이름은 사용자의 입력에서 오지 않는 당신을 위해 희망
-
==============================
2.다음과 같이하십시오 :
다음과 같이하십시오 :
public DataTable fillDataTable(string table) { string query = "SELECT * FROM dstut.dbo." +table; SqlConnection sqlConn = new SqlConnection(conSTR); sqlConn.Open(); SqlCommand cmd = new SqlCommand(query, sqlConn); SqlDataAdapter da=new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); sqlConn.Close(); return dt; }
이 도움이됩니다 바랍니다.
from https://stackoverflow.com/questions/16958155/fill-datatable-from-sql-server-database by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 .NET 응용 프로그램에서 SQL 서버 시간 데이터 유형을 사용 하는가? (0) | 2020.06.10 |
---|---|
[SQL] 최대 절전 모드 문제 : 외래 키 컬럼의 수가 같아야 기본 키를 참조로 (0) | 2020.06.10 |
[SQL] SQL 서버 2005에서 Active Directory를 쿼리 (0) | 2020.06.10 |
[SQL] 또 다른 열을 기준으로 최대 열 값 그룹과 행 선택 (0) | 2020.06.10 |
[SQL] MS-SQL 2000에서 where 절에 별칭 컬럼을 사용하여 (0) | 2020.06.10 |