2012-09-22 6 views
1

내가 문제 SQL 서버 CE에서 삽입 작업에 대한이,이 예외오류 구문 분석 쿼리

enter image description here

이며,이 내 코드입니다 :

private void button1_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      perintahsql = new SqlCeCommand("INSERT INTO lokasi (Campus, Address, Phone 1, Phone 2, Phone 3, Fax, Ext.number, Longitude, Latitude, Maps) VALUES (@Campus, @Address, @Phone 1, @Phone 2, @Phone 3, @Fax, @Ext.number, @Longitude, @Latitude, @Maps)", koneksi); 
      perintahsql.Parameters.AddWithValue("@Campus", comboBox1.Text); 
      perintahsql.Parameters.AddWithValue("@Address", textBox1.Text); 
      perintahsql.Parameters.AddWithValue("@Phone 1", textBox2.Text); 
      perintahsql.Parameters.AddWithValue("@Phone 2", textBox3.Text); 
      perintahsql.Parameters.AddWithValue("@Phone 3", textBox4.Text); 
      perintahsql.Parameters.AddWithValue("@Fax", textBox5.Text); 
      perintahsql.Parameters.AddWithValue("@Ext. number", textBox6.Text); 
      perintahsql.Parameters.AddWithValue("@Longitude", textBox7.Text); 
      perintahsql.Parameters.AddWithValue("@Latitude", textBox8.Text); 
      perintahsql.Parameters.AddWithValue("@Maps", textBox9.Text); 
      koneksi.Open(); 
      perintahsql.ExecuteNonQuery(); 
      koneksi.Close(); 
     } 
     catch (SqlCeException ex) 
     { 
      MessageBox.Show("Whoopss!! " + ex, "SQL Server CE Exception Message"); 
     } 
    } 

어떻게 해결 그 오류? 고맙습니다.

+0

degub point를 입력하고 어떤 코드 라인이 그 오류를 던지고 있는지 확인하십시오. –

답변

1

"lokasi (캠퍼스, 주소, 전화 번호 INTO INSERT는"SQL 공백으로 허가 변수를 doesnot. 변경 변수 PHONE1 등과 @ExtNumber로도 @ext. 수 @로 1 @Phone .

1

변수 이름뿐만 아니라 열 이름에도 공백을 사용할 수 없습니다. 삽입 문을 메모장 ++에서 열거 나 수동으로 계산하면 문자 44가 "전화 1"의 첫 번째 공백임을 알 수 있습니다.

당신에게 변수의 이름을 변경하십시오

+1

열 이름의 공백은 허용되지만, [Phone 1]과 같이 열 이름에 []를 포함시켜야한다고 생각합니다. – Agent007

+1

당신은 맞습니다. '[@Phone 1]'이 @ 기호를 벗어날 가능성이있는 변수를 공란으로 쓸 수 있는지 모르겠습니다. – jtimperley

+0

이제는 생각이 들었지만, CE 버전이기 때문에 열 이름의 이름을 바꾸는 것이 어려웠습니다. –