PDA

View Full Version : حرفه ای: ذحیره متن با فرمت تعریف شده در پایگاه داده



myazdani
یک شنبه 03 دی 1391, 00:00 صبح
سلام

اگر بخواهیم متنی رو که توسط tiny mce تولید شده (که با فونتها و رنگها و..... ی مختلف هستش) رو با همون فرمت خودش داخل پایگاه داده ذخیره و متعاقبا بازیابی کنیم :

1-نوع داده مون تو پایگاه داده چی باید باشه؟

2- آیا فیلد مجزایی برای متن و فرمتش باید در نظر بگیریم؟؟

3- با چه دستوری به خصوصیات متن مون که به این شکل تولید شده دسترسی داشته باشیم؟؟

متشکرم

fakhravari
یک شنبه 03 دی 1391, 01:38 صبح
nvarchar مکس

myazdani
یک شنبه 03 دی 1391, 17:21 عصر
سلام
بله ممنون
مشکل درجش حل شد ولی نمی دونم چه جوری داده نوع nvarchar max رو از پایگاه داده بخونم؟؟
خواستم با execute reader بخونم نمی دونم معادل nvarchar max چی میشه تو سی شارپ؟؟

fakhravari
یک شنبه 03 دی 1391, 20:55 عصر
SqlDataReader myReader;
SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Perspolice;Integrated Security=True");
SqlCommand command = new SqlCommand("SELECT * FROM [User] WHERE UserName = @UserName and [Password] = @Password", connection);
command.CommandType = CommandType.Text;
command.CommandTimeout = 100000000;
command.Parameters.Add("@UserName", SqlDbType.NVarChar).Value = txtUserName.Text;
command.Parameters.Add("@Password", SqlDbType.NVarChar).Value = txtPass.Text;
connection.Open();
myReader = command.ExecuteReader(CommandBehavior.CloseConnect ion);
if (myReader.Read())
{
Session["CurrentUser"] = txtUserName.Text;

string dd = myReader["Role"].ToString();
}
else
{
Label3.Text = "نام کاربری یا کلمه عبور نادرست است";
}
یا
SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT [CommentID], [Date], [TopikID], [Comment], [UserName] FROM [Comment_Post] WHERE ([TopikID] = @TopikID And Confirm_Comment='True') Order by CommentID desc";
cmd.Parameters.Add("@TopikID", SqlDbType.Int).Value = this.TopikID;
con.Open();

SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();

da.Fill(dt);
con.Close();

if (dt.Rows.Count > 0)
{
this.Date = Convert.ToDateTime(dt.Rows[0]["Date"].ToString());
this.UserName = dt.Rows[0]["UserName"].ToString();
this.Comment = dt.Rows[0]["Comment"].ToString();
this.TopikID = Int32.Parse(dt.Rows[0]["TopikID"].ToString());
this.CommentID = Int32.Parse(dt.Rows[0]["CommentID"].ToString());
}
else
{
lasteror = "موردی یافت نشد";

}

myazdani
دوشنبه 04 دی 1391, 00:30 صبح
:تشویق:با تشکر از آقای فخر آوری
موقع خوندن nvarchar max کافیه با اون مثل string رفتار کنیم. نیاز به تبدیل نوع خاصی نیست.:تشویق: