[SQL] C #에서 데이터베이스에 여러 매개 변수를 추가
SQLC #에서 데이터베이스에 여러 매개 변수를 추가
여기를 향해 뭔가 simulair을 찾고 있어요 : 어떻게 문장의 "INSERT INTO dbo.Blah"부분을 반복하지 않고 여러 행을 삽입 할 수 있습니까? 한 쿼리에서이 일을 향한뿐만 아니라 (빨리 다음 수십) 나는 또한 입력이 웹에서 온다 파라미터이 작업을 수행 할 것을 제외하고.
현재 내가 가지고
foreach(string data in Scraper){
SqlConnection conn = new SqlConnection(WebConfigurationManager.AppSettings["ConnectionInfo"].ToString());
string query = "INSERT INTO DATABASE('web',@data)";
SqlCommand sqlCommand= new SqlCommand(query, conn);
sqlCommand.Parameters.AddWithValue("@data", data);
Command.executeNonQuery();
conn.close();
}
이는 부진 비트입니다 (실제 예를 참고하여 더 많은 열이 있지만 그 일을 더 혼란스럽게 만들 것입니다).
해결법
-
==============================
1.당신은 C # 및 SQL 서버 2008을 사용하고 있기 때문에, 당신은 당신의 데이터베이스에 여러 행을 삽입 할 테이블 반환 매개 변수를 사용할 수 있습니다. 다음은이 작업을 수행하는 방법에 대한 간단한 설명입니다 :
당신은 C # 및 SQL 서버 2008을 사용하고 있기 때문에, 당신은 당신의 데이터베이스에 여러 행을 삽입 할 테이블 반환 매개 변수를 사용할 수 있습니다. 다음은이 작업을 수행하는 방법에 대한 간단한 설명입니다 :
첫째, 당신은 사용자 정의 테이블 형식을 생성해야합니다 :
CREATE TYPE MyTableType AS TABLE ( Col1 int, Col2 varchar(20) ) GO
그런 다음 매개 변수로이 테이블 유형을 받아 저장 프로 시저를 작성해야
CREATE PROCEDURE MyProcedure ( @MyTable dbo.MyTableType READONLY -- NOTE: table valued parameters must be Readonly! ) AS INSERT INTO MyTable (Col1, Col2) SELECT Col1, Col2 FROM @MyTable GO
마지막으로, C # 코드에서이 저장 프로 시저를 실행합니다 :
DataTable dt = new DataTable(); dt.Columns.Add("Col1", typeof(int)); dt.Columns.Add("Col2", typeof(string)); // Fill your data table here using (var con = new SqlConnection("ConnectionString")) { using(var cmd = new SqlCommand("MyProcedure", con)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MyTable", SqlDbType.Structured).Value = dt; con.Open(); cmd.ExecuteNonQuery(); } }
-
==============================
2.당신은 SQL 구문을 사용할 수있다 :
당신은 SQL 구문을 사용할 수있다 :
INSERT INTO YOUR_TABLE (dataColumn) VALUES (data1),(data2),(data3)
쿼리로 행 삽입 및 APPEND 싶어 "(DATAX)"를 통해 루프 그래서도하면 해당 매개 변수를 추가합니다. 아마 도움이됩니다.
from https://stackoverflow.com/questions/31965233/adding-multiple-parameterized-variables-to-a-database-in-c-sharp by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 설문 조사에 대한 데이터베이스 설계 [폐쇄] (0) | 2020.03.22 |
---|---|
[SQL] HAVING 및 WHERE 사이의 차이점은 무엇입니까? (0) | 2020.03.22 |
[SQL] MySQL의 NOT IN - 피연산자 1 열을 포함해야한다 (0) | 2020.03.21 |
[SQL] 어떻게 두 개의 서로 다른 열에 대한 또 다른 SQL 테이블에서 데이터를 일치 얻을 : 내부 가입 및 / 또는 조합? (0) | 2020.03.21 |
[SQL] 어떻게 여러 열 값을 하나의 열 값을 분할하려면? (0) | 2020.03.21 |