[SQL] SqlParameter에 C #을 표 이름과 테이블 필드?
SQLSqlParameter에 C #을 표 이름과 테이블 필드?
전 C #에서 SqlCommand를 통해 테이블 이름과 테이블 필드 이름을 전달하는 방법을 알고 싶습니다.
그것을는 @ 기호를 사용하여 SQL 명령을 설정하여 수행하지만 작동하지 않았다있어 길을하려고 노력했다. 어떤 아이디어?
해결법
-
==============================
1.당신은 SQL 주입에 대해 걱정하는 경우, 데 SqlCommandBuilder 클래스 (및 DbCommandBuilder의 다른 DB의 특정 버전) 제대로 테이블 이름을 탈출합니다 QuoteIdentifier라는 함수가 있습니다.
당신은 SQL 주입에 대해 걱정하는 경우, 데 SqlCommandBuilder 클래스 (및 DbCommandBuilder의 다른 DB의 특정 버전) 제대로 테이블 이름을 탈출합니다 QuoteIdentifier라는 함수가 있습니다.
var builder = new SqlCommandBuilder(); string escTableName = builder.QuoteIdentifier(tableName);
당신의 문을 구축하고 사출에 대해 걱정할 필요가 없습니다하지만 당신은 여전히 모든 값에 대한 매개 변수를 사용해야 할 때 지금 당신은 탈출 값을 사용 할 수 있습니다.
-
==============================
2.난 당신과 같은 SQL 문을 실행하려고하는 것 같아요
난 당신과 같은 SQL 문을 실행하려고하는 것 같아요
select @field from @table
그러나 그것은 작동하지 않습니다. SQL은 단지 값, fieldName에 또는 테이블 이름에 매개 변수를 가질 수 없습니다.
내 추측이 정확하지 않은 경우 귀하의 질문을 확장하십시오.
-
==============================
3.SqlCommand를 파라미터 만 데이터를 전달하는데 사용될 수있다. 당신은 (예 : SELECT 문에 추가 필드가 추가된다) SQL 문을 수정하는 데 사용할 수 없습니다. 당신은 SQL 문을 수정해야하는 경우, 내가 TSQL 문을 만들기 위해 모두 StringBuilder를 사용하는 것이 좋습니다 것입니다.
SqlCommand를 파라미터 만 데이터를 전달하는데 사용될 수있다. 당신은 (예 : SELECT 문에 추가 필드가 추가된다) SQL 문을 수정하는 데 사용할 수 없습니다. 당신은 SQL 문을 수정해야하는 경우, 내가 TSQL 문을 만들기 위해 모두 StringBuilder를 사용하는 것이 좋습니다 것입니다.
더 자세히 설명하기 위해, 닷넷 (적어도하지 예상 할 수 스트레이트 포워드 방식으로) SQLSERVER로 보내기 전에 SQL을 연결하지 않습니다. 실제로 저장 프로 시저를 호출하고 별도의 인수를 전달합니다. 이 SQL Server가 쿼리 계획을 캐시하고 TSQL의 성능을 최적화 할 수 있습니다.
당신이 있다면이하는 SqlCommand를 작성하는 ...
var cmd = new SqlCommand("SELECT * FROM MyTable WHERE MyID = @MyID", conn); cmd.Parameters.AddWithValue("@MyID", 1); cmd.ExecuteNonQuery();
이 SQL Server에 발급 TSQL입니다 ...
exec sp_executesql N'SELECT * FROM MyTable WHERE MyID = @MyID',N'@MyID int',@MyID=1
당신은 MSDN에 sp_executesql에 대한 자세한 내용을보실 수 있습니다.
from https://stackoverflow.com/questions/3128582/table-name-and-table-field-on-sqlparameter-c by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] WHERE 절을 사용하여 여러 테이블 MySQL을 UPDATE 구문 (0) | 2020.05.27 |
---|---|
[SQL] MySQL은 # 1140 - GROUP 컬럼의 혼합 (0) | 2020.05.27 |
[SQL] 어떻게 자바에서 선택 쿼리를 위해 준비된 문을 사용 하는가? (0) | 2020.05.27 |
[SQL] SQL 갱신 TOP1 행 쿼리 (0) | 2020.05.27 |
[SQL] SQL 서버 : DATABASE를 생성에 사용되는 매개 변수 (0) | 2020.05.27 |