$exception {"Arithmetic overflow error converting expression to data type smalldatetime.\r\nThe statement has been terminated."} System.Exception {System.Data.SqlClient.SqlException}
occurs
here is my code
protectedvoid EmailSubmitBtn_Click(object sender,EventArgs e){
SqlDataSource NewsletterSqlDataSource =newSqlDataSource();NewsletterSqlDataSource.ConnectionString =
ConfigurationManager.ConnectionStrings["NewsletterConnectionString"].ToString();//Text version
NewsletterSqlDataSource.InsertCommandType =
SqlDataSourceCommandType.Text;NewsletterSqlDataSource.InsertCommand =
"INSERT INTO NewsLetter (EmailAddress, IPAddress, DateTimeStamp) VALUES (@.EmailAddress, @.IPAddress, @.DateTimeStamp)";//storeprocedure version//NewsletterSqlDataSource.InsertCommandType = SqlDataSourceCommandType.StoredProcedure;//NewsletterSqlDataSource.InsertCommand = "EmailInsert";
NewsletterSqlDataSource.InsertParameters.Add(
"EmailAddress", EmailTb.Text);NewsletterSqlDataSource.InsertParameters.Add(
"IPAddress", Request.UserHostAddress.ToString());NewsletterSqlDataSource.InsertParameters.Add(
"DateTimeStamp",DateTime.Now.ToString());int rowsAffected = 0;try{
rowsAffected = NewsletterSqlDataSource.Insert();
}
catch (Exception ex){
Server.Transfer(
"NewsletterProblem.aspx");}
finally{
NewsletterSqlDataSource =
null;}
if (rowsAffected != 1){
Server.Transfer(
"NewsletterProblem.aspx");}
else{
Server.Transfer(
"NewsletterSuccess.aspx");}
Do not pass the Value asDateTime.Now.ToString() . Just pass the value asDateTime.Now if the db datatype is smalldatetime. If the input datatype for stored procedure is string , tryDateTime
.Now.ToShortDateString(); . Let me know if you need any clarifications
No comments:
Post a Comment