我正在尝试从一堆文本框中提取数据,然后将它们插入数据库中,除了两个之外,其他一切都很好,一个是,如果它们为null,则它们会出错,但是现在就不用担心了。
当我有一个应该使用数字的文本框时,它说它不能将varchar转换为float。但是,如果我直接在SQL Server中(使用SQL Server 2008)直接进行插入操作,那么它们就可以在代码中找到。
我的文本框很简单:
<asp:TextBox id="CID" runat="server"></asp:TextBox>
我从文本框中提取信息的代码是:
float custID = float.Parse(CID.Text);
我是C#的新手,所以如果您可以帮助我,简单地说,那会更好,但是任何帮助都可以。谢谢
编辑:这是我得到的错误行:
Line 63:
Line 64: sqlConnection1.Open();
Line 65: cmd.ExecuteNonQuery();
Line 66: sqlConnection1.Close();
Line 67: }
要求的代码:
cmd.CommandText = "INSERT INTO Customer VALUES('@custID', @mastName, @custName, @addrLn1, @addrLn2, @cCity, @cState, @cZip, @cZip4, @cCountry, @cusSince, @renewalDate, @cNotes, @salesRep, @conMem, @ilsProd, @numbSites, @guardItEsc)";
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection1;
使用参数解析:
float custID = float.Parse(CID.Text);
cmd.Parameters.AddWithValue("@custId", custID);
@custID带有单引号,因此将其视为varchar(实际上是尝试插入字符串“ @custID”)。只需删除引号。
cmd.CommandText = "INSERT INTO Customer VALUES(@custID, @mastName, @custName, @addrLn1, @addrLn2, @cCity, @cState, @cZip, @cZip4, @cCountry, @cusSince, @renewalDate, @cNotes, @salesRep, @conMem, @ilsProd, @numbSites, @guardItEsc)";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句