2016-07-15 6 views
-1

私はAsp.netのモバイルストアサイトを作成します'入力文字列の形式が正しくありませんでした。 'データをasp.netに設定して日付を挿入する

私はasp.netにページを挿入します。製品を挿入するためにデータセットを使用する。しかし、

私はデータベースに追加するためのボタンをクリックします。私を見せてくださいthis errpr

どうすれば解決できますか?

this my data base

protected void Button1_Click(object sender, EventArgs e) 
{ 

    PersianCalendar pc = new PersianCalendar(); 
    String datetime=pc.GetYear(DateTime.Now) + "/" + pc.GetMonth(DateTime.Now) + "/" + pc.GetDayOfMonth(DateTime.Now); 
    String time = DateTime.Now.Hour + ":" + DateTime.Now.Minute; 


    DataSet ds = new DataSet(); 
    DataSetTableAdapters.tblproductTableAdapter da = new DataSetTableAdapters.tblproductTableAdapter(); 


    da.InsertQuery(int.Parse(txtprotitle.Text), txtprotitle.Text, txtexplain.Text, decimal.Parse(txtproprice.Text), txtprolink.Text, Session["userid"].ToString(), datetime, time); 

    Response.Redirect("Default.aspx"); 
} 

答えて

0

[ "USERID"]必ずセッションを作るがnullではない、この私のデータセット:

protected void Button1_Click(object sender, EventArgs e) 
{ 

PersianCalendar pc = new PersianCalendar(); 
String datetime=pc.GetYear(DateTime.Now) + "/" + pc.GetMonth(DateTime.Now) + "/" + pc.GetDayOfMonth(DateTime.Now); 
String time = DateTime.Now.Hour + ":" + DateTime.Now.Minute; 


DataSet ds = new DataSet(); 
DataSetTableAdapters.tblproductTableAdapter da = new DataSetTableAdapters.tblproductTableAdapter(); 
int pid; 
decimal gheymat; 

if(int.TryParse(txtprotitle.Text, out pid) && decimal.TryParse(txtproprice.Text, out gheymat)) 
{ 
da.InsertQuery(pid, txtprotitle.Text, txtexplain.Text, gheymat, txtprolink.Text, Session["userid"].ToString(), datetime, time); 

Response.Redirect("Default.aspx");} 
else{ 
//error with parsing 
} 
} 
1

あなたはこのように実装する必要があり

INSERT INTO [tblproduct] ([pid], [title], [explain], [price], [link], [uid], [date], [time]) VALUES (@pid, @title, @explain, @price, @link, @uid, @date, @time) 
0

からスタックトレースは、あなたの問題は、日付ではなく、この部分ではありません。

int.Parse(txtprotitle.Text) 

あなたがtxtprotitleを再確認し、それが数であるとのInt32の範囲で確認する必要があります。そして、この(非常に推奨されるクライアント側の検証以外)

int title; 

if(int.TryParse(txtprotitle.Text, out title) == false) 
{ 
    // failed to convert - Do Something about it. 
} 

に対処する安全な方法:

da.InsertQuery(title, txtprotitle.Text, 
       txtexplain.Text, decimal.Parse(txtproprice.Text),        
       txtprolink.Text, Session["userid"].ToString(), datetime, time); 

あなたはtxtproprice.Textのために同じことを行う必要がありますがdecimal.TryParseを使用することがあります。

関連する問題