![](/img/trans.png)
[英]Conversion failed when converting the varchar value '..' to data type int
[英]Conversion failed when converting the varchar value 'Batsman' to data type int
這是我的 C# 代碼 - 我正在運行查詢
INSERT INTO PM
VALUES ('Ali', '6777777', '3', 'Batsman', 'Fine Player', 'njhuh8obj', 'Lahore');
它在數據庫中運行良好,但不是這樣。
protected void btnAdd_Click(object sender, EventArgs e)//button that add players
{
// for picture to be uploaded
string path = "~/Admin/Players" FileUploadPicture.FileName;
FileUploadPicture.SaveAs(Server.MapPath(path));
SqlCommand cmd = new SqlCommand("INSERT INTO PM VALUES ( '" + TxtPlayerName.Text + "','"+TxtPlayerType.Text + "','" + TxtPlayerBasePrice.Text + "','" + TxtPlayerRecord.Text + "',
'" + ddlCat.SelectedItem.Value + "','" + path + "','" + TxtPlayerAddress.Text + "')", con);//Query of my C# page
// open connection with database
con.Open();
// Command for running query
cmd.ExecuteNonQuery();
con.Close();
// message shown after player is added
Response.Write("<script>alert('**Player Added**')</script>");
}
似乎我的 C# 頁面的代碼不在數據庫中,但我不確定。
所以請幫我解決這個問題...
看起來您的數據庫表的第二列接受了 integer 值,但您傳遞的是字符串( TxtPlayerType.Text
)。 如果要插入僅包含 select 列的值的條目,則必須按如下方式指定列名:
INSERT INTO table_name (Column1, Column2, ...) VALUES (Value1, Value2, ...)
如果未指定列名,您必須按照它們在數據庫表中出現的順序傳遞值。
插入語句應遵循以下格式
Insert into <TableName>(Column1,Column2) Values (Value1,Value2)
最好在語句中定義列名,因為它可以確保列的順序,並且將來如果添加或刪除新列,則無需更改代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.