Vehicle_Status
및 Trans_Income
의 두 테이블이 있습니다.C# Insert 문 - SQL 열 이름으로 배열
Vehicle_Status
두 열 및 Vehicle_Number
Status
포함되며 Vehicle_Number
는 Trans_Income
의 열 이름있는 데이터로 구성된다.
배열에 Vehicle_Number
의 데이터를로드하고 insert
문에 사용하고 싶습니다.
string[] vehicleActive = new string[100];
SqlCommand cmd = new SqlCommand("Select Vehicle_Number from [dbo].[Vehicle_Status] Where Status = 'Inactive'", con);
cmd.CommandType = CommandType.Text;
con.Open();
int a = 0;
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
vehicleActive[a] = dr["Vehicle_Number"].ToString();
a++;
}
con.close();
for (int b = 0; b < a; b++)
{
cmd = new SqlCommand("Insert Into [dbo].[Trans_Income](Month, Particular,'"+vehicleActive[b]+"') VALUES (@Month, @Particular, @vehicleNo)", con);
con.Open();
cmd.Parameters.AddWithValue("@Month", textBox2.Text);
cmd.Parameters.AddWithValue("@Particular", textBox2.Text);
cmd.Parameters.AddWithValue("@vehicleNo", textBox3.Text);
cmd.ExecuteNonQuery();
con.Close();
}
는하지만 오류를 얻을
System.Data.SqlClient.SqlException : '.'BJW6719 '근처의 구문이 잘못되었습니다'
열 이름 중 하나는 BJW6719
입니다. 아무도 도와 줄 수 없나요? 아니면이 일을하는 다른 방법이 있습니까? 미리 감사드립니다.
그것은 귀하의 믹싱 데이터 및 메타 데이터처럼 들리 네요 일반적으로 데이터 모델의 나쁜 징조 인 ogether. 동일한 "유형"의 데이터가 포함 된 여러 개의 열이 있습니다. 일반적으로 해당 데이터는 * single * 열에 저장되어야하며 추가 열은 현재 * name * 열에 포함 된 * data *를 포함해야합니다. –
안녕하세요 @Damien_The_Unbeliever 귀하의 조언을 주셔서 감사합니다, 이것은 내 프로그램의 일부입니다, 나는 같은 순서 번호로 차량의 교통 소득을 기록하려고 노력하고 있으며, 시간이 좀 필요하고 모든 "활성"차량에 평균을 삽입해야합니다 이 작업을 제대로 수행하고 있는지 확실하지 않으므로이 경우 더 많은 행보다 많은 행을 갖는 것이 좋습니다. 고마워요. –