Forum
Herkese Selamlar. Visual Studio 2010'da hazırladığım bir projemde RichTextBox kontrolu kullanıyorum. Yanlız bazı karakterleri SQL veritabanımdaki tabloma kaydetmiyor. Örneğin Tek tırnak (') karakteri kullanınca kayıt işlemi gerçekleşmiyor. Sanırım bunu bir kod parçası gibi algılıyor. Bu konuda yardımı olacak üstadlara şimdiden teşekkür ederim.
sql cümleciğiniz şuna benzer bişey sanıyorum.
SELECT * FROM TABLE WHERE Name= ' " + richTextBox1.Text + " '
richTextBox1 e şu girilmiş olsun; "Ankara' dan abim gelmiş"
sql cümleciği şöyle olacaktır;
SELECT * FROM TABLE WHERE Name= 'Ankara' dan abim gelmiş'
tek tırnak açılmış ve Ankara kelimesinin sonunda kapanmış. geriye kalan "dan abim gelmiş' " syntax hatası olur.
çözümü stored procedure kullanmaktır; bu kadar gürültüyü niye yaptım bilmiyorum 🙂
MYDB veritabanındaki
MyTable tablosundaki
Name alanına stored procedure ile veri girişi
Stored Procedure;
CREATE PROCEDURE [sp_Ekle]
@Name varchar(50)
AS
BEGIN
INSERT INTO myTable(Name) VALUES(@Name)
END
GO
Visual Studio tarafı;
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=localhost; Initial Catalog=MYDB; Integrated Security=SSPI; User ID=sa; Password=1234";
cn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = richTextBox1.Text;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_Ekle";
cmd.Connection = cn;
cmd.ExecuteNonQuery();