2012-04-20 15 views
6

मैं ASP.NET/VB का उपयोग कर रहा हूं और मैं एक दिनांक और समय को एक्सेस दिनांक/समय फ़ील्ड में डालने का प्रयास कर रहा हूं, लेकिन मुझे एक त्रुटि मिल रही है (डेटा प्रकार में मेल नहीं मिला मानदंड अभिव्यक्ति)। यहाँ मेरी कोड का एक सरलीकृत संस्करण है:एक्सेस डेटाबेस में दिनांक/समय सम्मिलित करें

Dim myDate As Date = Now() 
Dim myIns1 As New OleDbCommand("INSERT INTO tableCourse (date_submitted) VALUES (?)", myConn) 
myIns1.Parameters.AddWithValue("@myDate", myDate) 
myIns1.ExecuteNonQuery() 

सुनिश्चित नहीं हैं कि कारण है कि मैं त्रुटि मिल रही है, और अगर यह भी आज की तारीख डालने दृष्टिकोण सही तरीका है काफी यकीन है कि नहीं। ऐसा ही इसी तरह के प्रश्नों को देखने से ऐसा लगता है कि ऐसा करने के कुछ अलग तरीके हैं, लेकिन मेरा तकनीकी ज्ञान सीमित है इसलिए मुझे इसे समझने में कठिनाई हो रही है (दूसरे शब्दों में उन उत्तरों को समझना जो तकनीकी शर्तों का उपयोग करते हैं के बारे में कुछ भी नहीं है)।

अग्रिम धन्यवाद!

उत्तर

2

आप पैरामीटर को पूरी तरह से छोड़ सकते हैं और अभी क्वेरी में सीधे कार्य को लिख सकते हैं।

Dim myIns1 As New OleDbCommand("INSERT INTO tableCourse (date_submitted) VALUES (NOW())", myConn) 
myIns1.ExecuteNonQuery() 

इस उत्तर (ऊपर एक) शायद बेहतर समाधान है, लेकिन क्योंकि पैरामीटर का नाम नहीं था कारण है कि मूल कोड काम नहीं किया है। आप इस कोशिश कर सकते:

Dim myDate As Date = Date.Now 
Dim myIns1 As New OleDbCommand("INSERT INTO tableCourse (date_submitted) VALUES (@myDate)", myConn) 
myIns1.Parameters.AddWithValue("@myDate", myDate) 
myIns1.ExecuteNonQuery() 

+0

यह काम करता है, धन्यवाद! – Sara

+1

नामित पैरामीटर ओलेडीबी के साथ काम नहीं करते हैं। वे केवल स्थिति पर काम करते हैं। यह पहले काम नहीं करता था क्योंकि मूल्य पारित किया गया था डेटटाइम नहीं था। यहां अधिक : http://www.mikesdotnetting.com/Article/92/MS-Access-Date-and-Time-with-ASP.NET –

+0

माइक, आप सही कह रहे हैं कि पैरामीटर केवल स्थितित्मक रूप से काम करते हैं। हालांकि, आप कहें कि यह काम नहीं करता है "क्योंकि मूल्य पारित किया गया था डेटटाइम नहीं था।" यह निश्चित रूप से डेटटाइम था। ToOADate() फ़ंक्शन मूल्य को डेटटाइम से डबल तक बदल देता है। –

-1

कोशिश बदलते

Dim myDate As Date = Now() 

को

Dim myDate As DateTime = Now() 

एमएस एक्सेस एक DATE के डेटाप्रकार, केवल DATETIME प्रदान नहीं करता है।

+0

का दिनांक और दिनांक समय (यदि सिस्टम नाम स्थान आयात किया जा रहा है) का अर्थ VB.NET में सटीक एक ही बात। –

+0

इसे आजमाया, लेकिन फिर भी वही त्रुटि मिली। – Sara

+0

["' DATETIME' डेटा प्रकार ... समानार्थक 'DATE', 'TIME',' DATETIME', और' TIMESTAMP'] हैं (http://msdn.microsoft.com/en-us/library/aa140015 (office.10) .aspx # acintsql_datatypes) – onedaywhen

संबंधित मुद्दे