我在我的mysql數據庫表中有一列,其數據類型爲Datetime
。現在我的c#代碼中有一個字符串,值爲17/04/2014
。所以我的問題是我該如何插入這個值放到我的日期時間列中。如何將字符串值保存爲Mysql中的日期時間使用c#
請幫助我..
我在我的mysql數據庫表中有一列,其數據類型爲Datetime
。現在我的c#代碼中有一個字符串,值爲17/04/2014
。所以我的問題是我該如何插入這個值放到我的日期時間列中。如何將字符串值保存爲Mysql中的日期時間使用c#
請幫助我..
下面的例子轉換日期字符串使用ParseExact方法DATETIME。
如果你能保證日期總是會在一個給定的格式,那麼你可以使用ParseExact()
string dateString, format;
DateTime result;
CultureInfo provider = CultureInfo.InvariantCulture;
format ="dd/MM/yyyy";
dateString = "17/04/2014";
result = DateTime.ParseExact(dateString, format, provider);
EDITED
與此
cmd.CommandText = "insert into processeddata_table values(STR_TO_DATE('" + calldate + "','%d-%m-%Y'),'" + calltime + "','" + source + "','" + dialedno + "','" + extension + "','" + trunk + "','" + duration + "','" + toc + "','" + cost + "','" + site + "','" + callstatus + "','" + location + "','" + incomingcallduration + "','" + transfercallduration + "','" + outgoingcallduration + "','" + ringingduration + "','" + confereneceduration + "','" + empid + "','" + Department + "')";
替換命令文本
但這個問題的矯枉過正。 MySQL將它保存在自己的格式中? – TheGeekZn
@NewAmbition - 根本沒有矯枉過正。 'DateTime.ParseExact'是從字符串到'DateTime'的首選方式。 MySQL客戶端應該採用'DateTime',而不是一個字符串。 MySQL如何實際存儲它並不相關,但很可能是二進制格式。 –
我prefere'DateTime.ParseExact'因爲一些區域設置具有不同的不同日期時間格式,所以每次'Convert.Todatetime()'不工作 –
馮·可以這樣做:
string date="17/04/2014";
DateTime dt = Convert.ToDateTime(date);
您應該提供一個'IFormatProvider',或使用ParseExact。因爲如果提供者爲空,則使用當前文化的DateTimeFormatInfo。這意味着'01/02/2014'可能是1月2日或2月1日,除非你知道當前的文化是什麼,否則你不知道它是否會按預期工作。 –
你是對的,謝謝你糾正 –
有很多方案&解決方案涉及到你的問題。
根據輸入,有兩種方法。
DateTime strDate = DateTime.Parse("17/04/2014");
//像你的情況,DD/MM/YYYY具體格式:
DateTime strDateWithFormat = DateTime.ParseExact(strDate, "dd/MM/yyyy",null);
U可以包括在問題insert語句 –
@GujjuDeveloper先生,我已經更新了我的職務與代碼,請看到它.. – Laxman
編輯的答案檢查新的命令文本 –