الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة عند انسرت تاريخ

بدأه rania_exe في 8 أبريل 2008 · 17 رد · 1,793 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندى مشكلة خاصة بالتاريخ فى الداتا بيز هو datetime 8

الرسالة هى:_

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

The statement has been terminated.

والكود هو الاتى

Dim sql As String = "update personal set gender='" & g_h.Value & "',a='" & adv_for.Value & "' ,begin_d=@bd,end_d='" & Now.AddDays(180) & "'"

sql &= " where username=N'" & Session("reg_user") & "'"

Dim Cmd As New SqlCommand(sql, conn)

Cmd.Parameters.AddWithValue("@bd", DateTime.Now())

conn.Open()

Cmd.ExecuteNonQuery()

conn.Close()

Response.Redirect("u.aspx")

End Sub

End Sub

سبحان الله وبحمده سبحان الله العظيم

#2

السلام عليكم

اولا نرجو منك استخدام البحث عن مشاكل ادخال التاريخ والوقت

ثانيا اعتقد ان افضل حل هو الادخال على الشكل yyyymmdd

مثل

end_d=200080408'

#3
ضعِ الكود هنا حتى نستطيع قراءته

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#4
Dim sql As String = "update personal set gender='" & g_h.Value & "',a='" & adv_for.Value & "' ,begin_d=@bd,end_d='" & Now.AddDays(180) & "'"

sql &= " where username=N'" & Session("reg_user") & "'"

Dim Cmd As New SqlCommand(sql, conn)
Cmd.Parameters.AddWithValue("@bd", DateTime.Now())
conn.Open()

Cmd.ExecuteNonQuery()
conn.Close()
Response.Redirect("u.aspx")
End Sub

تم تعديل هذه المشاركة بواسطة rania_exe في 9 أبريل 2008 في 02:37

سبحان الله وبحمده سبحان الله العظيم

#5

اخوانى مع ان هذا السؤال ده مر عليه 4 سنوات إلا اننى تعرضت له ثانية لانى لم اعرف الاجابة

وسأعدل السؤال شوية وهو :

انا اريد عمل اضافة للداتا بيز عن طريق فورمة تسجيل والمستخدم يدخل التاريخ بصيغة يوم/شهر/سنة

  Dim sql As String = "insert into pacients (id,name ,gender ,age ,diagnose ,date ,heart_diseses,pressure_diseses) "
       sql &= " values (1,'&t_name&',&r_gender& ,&t_age& ,'&t_diagnose&' ,'&t_date&' ,'&t_heart&','&t_pressure&') "

تظهر هذه الرسالة

The name "t_ndate" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted

تم تعديل هذه المشاركة بواسطة rania_exe في 4 سبتمبر 2012 في 23:28

سبحان الله وبحمده سبحان الله العظيم

#6

اخي العزيز جرب هذه

DateTime.Now.ToString("MM/dd/yyyy")

تم تعديل هذه المشاركة بواسطة ورق خسرانه في 5 سبتمبر 2012 في 03:56

#7

أليس من المفترض أن يكون بهذا الشكل؟

sql &= " values (1,'"&t_name&"',"&r_gender&" ,"&t_age&" ,'"&t_diagnose&"' ,'"&t_date&"' ,'"&t_heart&"','"&t_pressure&"') "

لا أستخدم VB.NET لذا لا أعرف كل الطرق الصحيحة للجمع بين السلاسل النصيّة أو تمرير البارامترات في الاستعلامات

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#8

لم يشتغل معى

سؤالى بمعنى اخر لما المستخدم يدخل التاريخ بهذا الشكل

4/9/2012 12:00:00 AM

يدخل عادى

وهذا شىء مش منطقى

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

تم تعديل هذه المشاركة بواسطة rania_exe في 5 سبتمبر 2012 في 18:23

سبحان الله وبحمده سبحان الله العظيم

#9
rania_exe كتب:

سؤالى بمعنى اخر لما المستخدم يدخل التاريخ بهذا الشكل

4/9/2012 12:00:00 AM

يدخل عادى

وهذا شىء مش منطقى

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

غير منطقي على أي أساس؟

الصيغة المذكورة للتاريخ والوقت مدعومة في MSSQL ولذلك يتم تخزينها بشكل طبيعي دون أخطاء

راجعي الرابط: http://msdn.microsoft.com/en-us/library/ms187819.aspx

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10

يوجد العديد من الحلول لهذه المشكله

ارفقي مثال لتعديله لكي

#11

غير منطقى ان المستخدم يكتب التاريخ بالساعة والدقيقة

اخوانى انا اريد المستخدم بادخال التاريخ بالصورة العادية يعنى يوم شهر سنة

يارب يكون السؤال اتضح

تم تعديل هذه المشاركة بواسطة rania_exe في 8 سبتمبر 2012 في 03:02

سبحان الله وبحمده سبحان الله العظيم

#12
ثعلب البرمجه كتب:

يوجد العديد من الحلول لهذه المشكله

ارفقي مثال لتعديله لكي

ارجو ياثعلب البرمجة ان تحللى هذه المشكلة والملف هو كالتالى

  <table style="width:100%;">
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                     Name :</td>
                <td>
                    <asp:TextBox ID="t_name" runat="server" style="text-align: left" 
                        Width="315px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                    Age :</td>
                <td>
                    <asp:TextBox ID="t_age" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                    Gender :</td>
                <td>
                    <asp:RadioButtonList ID="r_gender" runat="server" Width="109px">
    <asp:ListItem Value="0">Male</asp:ListItem>
    <asp:ListItem Value="1">Female</asp:ListItem>
    </asp:RadioButtonList>
                </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                    date :</td>
                <td>
                     </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                    diagnose :</td>
                <td>
                    <asp:TextBox ID="t_diagnose" runat="server" Height="108px" TextMode="MultiLine" 
                        Width="439px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                    heart diseses :</td>
                <td>
                    <asp:TextBox ID="t_heart" runat="server" Height="85px" TextMode="MultiLine" 
                        Width="439px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                    pressure diseses :</td>
                <td>
                    <asp:TextBox ID="t_pressure" runat="server" Height="95px" TextMode="MultiLine" 
                        Width="439px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                    next session date :</td>
                <td>
                    <asp:TextBox ID="t_ndate" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                     </td>
                <td>
                     </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                     </td>
                <td>
                     </td>
            </tr>
            <tr>
                <td class="style5">
                     </td>
                <td class="style6">
                     </td>
                <td style="text-align: center">
                    <asp:Button ID="b_add" runat="server" Text="Add" Width="94px" />
                </td>
            </tr>
       </table>

وعلى حدث الزر

        Dim sql As String = "insert into pacients (id,name ,gender ,age  ,date) "
        sql &= " values ( 1,'" & t_name.Text & "','" & r_gender.SelectedValue & "' ,'" & t_age.text & "' "
        sql &= ", '" & t_date.text & "' ) "
        Dim Cmd As New SqlCommand(sql, conn)

        conn.Open()


        Cmd.ExecuteNonQuery()
        conn.close()

تم تعديل هذه المشاركة بواسطة rania_exe في 10 سبتمبر 2012 في 01:48

سبحان الله وبحمده سبحان الله العظيم

#13

وينكم ياخبراء؟؟؟؟؟؟؟:(

سبحان الله وبحمده سبحان الله العظيم

#14

مرحبا......

اللي افهمتو منك انك عم بتدخلي Date على ال database بس عم تتخزن من الوقت؟؟؟؟ صحيح انا اللي فاهمو؟؟

على كل حال تخزين التاريخ للDatabase ازا ما كنتي بدك الوقت بأمكانك تعملي شغلتين:

1)ازا كنتي بدك تخزني التاريخ في ال database في table اسمو table1 و داخل begin_date و كنتي امعرف ال begin_date على انو date بأمكانك اتروح على خصائص ال begin_date و تعملو shortdateformat بدل longdateformat

اما ازا كنتي امعرف ال begin_date كـ string او nvarchar فلازم تودي ال date لل database بصيغة shortdateformat قبل ما اتخزنيه مثلا:

كل control بتعامل في الdate له خاصية .Toshortdate.Tostring();

مثال :

date_selector1.toshortdate.tostring(); .....this is will give you :

20/8/1983 12:00:Am يحولها ل 20/8/1983

اي استفسارات اخرى

دانيال حنني

CEO Assistance

team leader of .net senior

+962786622858

dhananny2@hotmail.com

rania_exe كتب:

وينكم ياخبراء؟؟؟؟؟؟؟:(

استعملي

toshortdate.tostring

#15

انا مرت علي هذه المشكلة وقمت بحلها عن طريق جعل نوع الحقل في قاعدة البيانات nvarchar وعند الادخال وضعت  ValidationExpression  واجعلي الشرط له على النحو التالي : 

 

 

 

^(0[1-9]|[12][0-9]|3[01])[-/.](0[1-9]|1[012])[-/.](19|20)\d\d$"
−1
#17

السلام عليكم 

مرفق مثال به كيفية حفظ تاريخ وكيفية استرجاع التاريخ بنفس صيغة الحفظ 

يوم شهر سنة 

 

بالتوفيق ...

Insert date and fill date.rar

تم تعديل هذه المشاركة بواسطة Develooper في 10 مارس 2013 في 06:41

لك الحمدُ ،،، على - مَا مضى . .

وَ لكَ الحمدُ ،،، على مَا أنا ، به الآن . .
وَ لكَ الحمدُ ،،، على - مَا سيأتي . .
وَ لكَ الحمدُ ،،، على كُلِ حال . .
الحمد لله على نعمة الاسلام و كفى بها نعمة

#18

سبق وظهرت لي مشكلة مشابهه

لا بد من ان تتأكدي ان نوع المدخل في الداتابيس هو date

وتتأكدي من الصيغة التي ينحفظ فيها في الداتابيس 

وبعدها يكون الإدخال في الكود بنفس الصيغة

 

وستنحل المشكلة 

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…