c# - Standard method to insert any datetime format string to sql server -


i importing data excel file sql server.my sheet contains datetime columns .if contains values in 'm/d/yyyy'(12/31/2015) format systems datetime format executes smoothly without errors.but values other 'm/d/yyyy' format,it doesn't insert data , gives exception.i not converting datetime values specific format , inserting.simply picking data inserting sql server.i not able understand problem , has system datetime format. please me.

use parameterized query , set parameter type datetime:

sqlcommand cmd = new sqlcommand(       "insert ... (..., datetimecolumn, ...) values (..,@datetimeparameter,...",         connection); sqlparameter datetimeparameter = new sqlparameter(       "@datetimeparameter",         sqldbtype.datetime); datetimeparameter.value = <your c# variable of type date>; ... cmd.executenonquery(); 

using framework entity framework take care of lot of boilerplate coding.

using sqlbulkcopy viable approach.

what not work passing in values hard coded strings in t-sql. aside sql injection prone, slow , unperformant, there countless issues around combination of client (app) locale, server locale , sql server locale settings (set dateformat). record: there locale independent datetime format in sql server, namely yyyymmdd hh:mm:ss format. whenever must use t-sql string represent date, use format locale agnostic.

also might want learn bit ssis you're trying achieve out-of-the-box (there ssis excel source).


Comments