2013-07-28 60 views
0

這是我的代碼。當我在TextBox3和TextBox4中輸入沒有特殊字符的數據時,它的罰款,當我輸入包含特殊字符,如「,。;:#」的數據時。 請給我解決謝謝使用C#在Ms access 2007中插入數據時出現錯誤

OleDbCommand cmd = new OleDbCommand(); 

    OleDbConnection mycon = new OleDbConnection(); 

    mycon.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\AGENTJ.AGENTJ-PC\Documents\Visual Studio 2010\WebSites\mfaridalam\App_Data\mfaridalam1.accdb"; 

    cmd = mycon.CreateCommand(); 

    mycon.Open(); 
    cmd.CommandText = "INSERT INTO [Image] ([Image],[Sort],[Created],[Albumid],[Description],[title])VALUES('" + filename + "','" + ips + "','" + dateTime.ToString("dd/MM/yyyy") + "','" + newtable + "','" + TextBox4.Text + "','" + TextBox3.Text + "')"; 


    cmd.ExecuteNonQuery(); 
+2

看看如何使用[CommandParameters](http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.parameters.aspx) – rene

+0

@rene謝謝 –

回答

0

使用parameterized query將有助於避免這些類型的錯誤報價,而且也將保護從SQL注入攻擊和其他怪異的行爲的應用程序。它們的代碼稍不緊湊,但它們非常值得努力。

相關問題