PDA

View Full Version : ذخیره متن نوشته شده در تکس باکسِ multi line ، در بانک



farzaneh_bala
یک شنبه 06 بهمن 1392, 10:17 صبح
با سلام
من یک صفحه ارسال پیام به شکل زیر دارم:

115938


ساختار جدولم در بانک هم به این شکله:

115939

در حال عادی پیام نوشته شده به درستی در فیلدcomment ذخیره میشه...
ولی وقتی تکس باکس رو در حالت multi line قرار میدم ارسال پیام انجام نمیشه و ارور میده...
آیا باید در نوعِ داده فیلد comment تغییری ایجاد کنم یا مشکل از جای دیگه است؟؟؟؟

korosh00
یک شنبه 06 بهمن 1392, 10:27 صبح
احتمالا از نوع تعریفی فیلد نیست از جای دیگه هست . چون من بارها از این استفاده کردم . حالا شما بزار روی حالت Text نوع فیلد را ببین چی میشه ؟

farzaneh_bala
یک شنبه 06 بهمن 1392, 10:37 صبح
احتمالا از نوع تعریفی فیلد نیست از جای دیگه هست . چون من بارها از این استفاده کردم . حالا شما بزار روی حالت Text نوع فیلد را ببین چی میشه ؟
متاسفانه فایده ای نداشت...
باز هم ارور میده...

korosh00
یک شنبه 06 بهمن 1392, 11:02 صبح
کد insert در بانک را بگذارید ؟
یا یکبار دیگه بانک را درست کنید یا یک صفحه جدید باز کنید دوباره فرم را درست کنید .

korosh00
یک شنبه 06 بهمن 1392, 11:03 صبح
اسم این comment را comment1 بگذارید ببینید چی میشه . البته در کد insert هم اسم را عوض کنید .

farzaneh_bala
یک شنبه 06 بهمن 1392, 11:37 صبح
کد insert در بانک را بگذارید ؟

ALTER PROCEDURE [dbo].[pmInsert]
( @username nvarchar(50),
@comment ntext,
@date char(10),
@time char(5))
as
insert into Comment values (@username,@comment,@date,@time)
RETURN


یا یکبار دیگه بانک را درست کنید یا یک صفحه جدید باز کنید دوباره فرم را درست کنید .

صفحه رو دوباره طراحی کردم...ولی فرقی نکرد...


اسم این comment را comment1 بگذارید ببینید چی میشه . البته در کد insert هم اسم را عوض کنید .

وقتی جداولم رو به فایل لینکیو اضافه کردم اسم این فیلد به صورت خودکار comment1 شد
115944

korosh00
یک شنبه 06 بهمن 1392, 13:19 عصر
ببین بعضی موقع ها که همه چی درسته و فقط ارور میاد از اسامی هست که انتخاب می کنید . الان اسامی را عوض کنید .
date1
time1
comment1
name1
معمولا بعضی اسامی برای خود برنامه است نباید از آنها استفاده بشه .

حالا شما فقط یک جدول درست کن و تو فقط همون فیلد کامنت با خاصیت nvarcharmax را بگذار و insert را براش بنویس اگه تو اون حالت ذخیره شد . ایراد از این کامنت نیست از چیز دیگه ای هست .


یک سرچی بزن از شیوه ای دیگر استفاده کن .




s1 = "Data Source=.\\sqlexpress;Initial Catalog=login;Integrated Security=True;Pooling=False";
con = new SqlConnection(s1);
s2 = "insert INTO tabel (name1,family,address)" + " values(@name1,@family,@address)";
con.Open();
SqlCommand com = new SqlCommand(s2, con);
com.Parameters.Add("@name1", SqlDbType.Char).Value = textBox2.Text;
com.Parameters.Add("@family", SqlDbType.Char).Value = textBox3.Text;
com.Parameters.Add("@address", SqlDbType.Char).Value = textBox4.Text;

com.Connection = con;
com.ExecuteNonQuery();
con.Close();



با این نمونه insert بکن اطلاعات را ببین چی میشه