PDA

View Full Version : سوال: ذخیره تاریخ در جدول



water_lily_2012
دوشنبه 16 آبان 1390, 17:35 عصر
سلام
من در جدول خودم فیلد تاریخ را dateTime گرفتم. و به صورت میلادی ذخیره می شود. مثلا 2011/07/11
به چه صورت باید تاریخ را به جدول ارسال کنم، وقتی از این نوع در جدول استفاده می کنم.

قبلا تاریخ را string می گرفتم و به صورت رشته هم به دیتابیس می فرستادم. الان باید چه کار کنم.

با تشکر

water_lily_2012
سه شنبه 17 آبان 1390, 16:00 عصر
لطفا یکی کمک کنه.

M.YasPro
سه شنبه 17 آبان 1390, 16:22 عصر
سلام
خوب الانم بصورت رشته بفرستید!!
سوالتون گنگه

asadegha
سه شنبه 17 آبان 1390, 17:37 عصر
باید از پارامتر استفاده کنی.



SqlConnection conn = newSqlConnection(strCon);
string ins = string.Format("INSERT tblPayments(PDate) VALUES( N'@pPDate) WHERE name like '{0}'", txtName.Text);
SqlCommand cmd = newSqlCommand(ins, conn);
cmd.Parameters.Add(newSqlParameter("@pPDate", SqlDbType.DateTime)).Value = (DateTime)txtPDate.Text;
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.ExecuteNonQuery();
if (conn.State == ConnectionState.Open)
conn.Close();

saeed_sho
سه شنبه 17 آبان 1390, 18:43 عصر
چطوری فرمت یکی از ستون های دیتا گرید ویو رو عوض کنم مثلا تاریخ میلادی رو به فارسی با این حلقه اما اینو کجا بزنم تا کار کنه توی cellFormatting میذارم حلقه بینهایت میشه توی متد لود فرم گذاشتم بازم بینهایت شد کجا بذارمش؟
string PersionDate(string miladi)
{
try
{

PersianCalendar jc = new PersianCalendar();
DateTime thisDate = DateTime.Parse(miladi);
string day;
string month;
string year;
string newdate = "";
day = jc.GetDayOfMonth(thisDate).ToString();
month = jc.GetMonth(thisDate).ToString();
year = jc.GetYear(thisDate).ToString();
if (int.Parse(day) < 10)
{
day = "0" + day;
}
if (int.Parse(month) < 10)
{
month = "0" + month;
}
newdate = year + "/" + month + "/" + day;

return newdate;
}
catch (Exception)
{

}
return "";
}

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
string d = Convert.ToString(dataGridView1.Rows[i].Cells[5].Value);
string sh = PersionDate(d);
dataGridView1.Rows[i].Cells[5].Value = sh;
}
}

water_lily_2012
سه شنبه 17 آبان 1390, 19:12 عصر
باید از پارامتر استفاده کنی.


SqlConnection conn = newSqlConnection(strCon);
string ins = string.Format("INSERT tblPayments(PDate) VALUES( N'@pPDate) WHERE name like '{0}'", txtName.Text);
SqlCommand cmd = newSqlCommand(ins, conn);
cmd.Parameters.Add(newSqlParameter("@pPDate", SqlDbType.DateTime)).Value = (DateTime)txtPDate.Text;
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.ExecuteNonQuery();
if (conn.State == ConnectionState.Open)
conn.Close();



بله. شما متوجه منظورم شدید.
اما مشکل اینکه من با اکسس کار می کنم. لطفا یک نمونه با اکسس مثال بزنید.

wolf_majid
سه شنبه 17 آبان 1390, 19:49 عصر
بله. شما متوجه منظورم شدید.
اما مشکل اینکه من با اکسس کار می کنم. لطفا یک نمونه با اکسس مثال بزنید.

جدا" شما داخل تگ کد رو می بینید ؟
پس چرا من همش رو font و ... می بینم ؟

mmd2009
سه شنبه 17 آبان 1390, 20:00 عصر
جدا" شما داخل تگ کد رو می بینید ؟
پس چرا من همش رو font و ... می بینم ؟

من هم نمیبینم. کلا این مشکل برای من خیلی بیداد میکنه. اکثر کدهارو اصلا نمیبینم.

water_lily_2012
سه شنبه 17 آبان 1390, 21:21 عصر
پ.ن.پ فکر کرده اید من می بینم.
من هم آنچه شما می بینید را می بینم.
ولی راه درست دیدنش را هم بلدم.

wolf_majid
سه شنبه 17 آبان 1390, 21:35 عصر
پ.ن.پ فکر کرده اید من می بینم.
من هم آنچه شما می بینید را می بینم.
ولی راه درست دیدنش را هم بلدم.

د.نه.د می خواستم مچت رو بگیرم :قهقهه:
خوب حالا بگو چطوری می بینی ؟

water_lily_2012
چهارشنبه 18 آبان 1390, 09:35 صبح
در زمانیکه اولین نما از صفحه دیده شد دکمه Stop را فشار بده و اجازه نده که تمام صفحه نمایش داده شود.
من دیدم اول بار درست نمایش میده ولی بلافاصله اینطوری میشه و در نتیجه stop را میزنم.
البته بعضی از صفحات برای من اینطوری هست.

ببین این روش برای شما هم عمل می کنه؟

wolf_majid
چهارشنبه 18 آبان 1390, 10:08 صبح
این رو تست کرده بودم (از منم اول در کمتر از یک ثانیه درست نشون میده)
ولی برای من جواب نداد :ناراحت:

ali reza mansoori 2
چهارشنبه 18 آبان 1390, 11:21 صبح
من از همین روش استفاده کردم و جواب داد


SqlConnection conn = newSqlConnection(strCon);

string ins = string.Format("INSERT tblPayments(PDate) VALUES( N'@pPDate) WHERE name like '{0}'", txtName.Text);

SqlCommand cmd = newSqlCommand(ins, conn);

cmd.Parameters.Add(newSqlParameter("@pPDate", SqlDbType.DateTime)).Value = (DateTime)txtPDate.Text;

if (conn.State != ConnectionState.Open)

conn.Open();

cmd.ExecuteNonQuery();

if (conn.State == ConnectionState.Open)

conn.Close();

asadegha
یک شنبه 22 آبان 1390, 11:42 صبح
سلام.
فرقی نمیکنه برای اکسس هم جواب میده.

بجای استفاده از دستورات sqlclient از oledb استفاده کن.