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
Post a Comment