c# - 我在 Visual Studio 中收到一个 SqlException,将数字数据转换为数字 //ASP.NET 项目(第二次上传)
问题描述
我正在尝试从使用按钮 OnClick 的方法创建的表单页面中保存数据。代码如下。
protected void SaveButton_Click(object sender, EventArgs e)
{
string query = "INSERT INTO[Loans]([CustName], [LoanAmount], [AnualIntRate], [NumPayments]) VALUES(@CustName, @LoanAmount, @AnualIntRate, @NumPayments)";
SqlConnection cnn = new SqlConnection(@"Data Source=(localdb)\ProjectsV13;Initial Catalog=CheapLoans;Integrated Security=True");
SqlCommand cmd = new SqlCommand(query, cnn);
cmd.Connection = cnn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO[Loans]([CustName], [LoanAmount], [AnualIntRate], [NumPayments]) VALUES(@CustName, @LoanAmount, @AnualIntRate, @NumPayments)";
cmd.Parameters.Add("@CustName", SqlDbType.VarChar, 255).Value = custNameTextBox.Text;
cmd.Parameters.Add("@LoanAmount", SqlDbType.Decimal, 0).Value = decimal.Parse(loanAmtTextBox.Text);
cmd.Parameters.Add("@AnualIntRate", SqlDbType.Decimal, 0).Value = decimal.Parse(annualInterestRateTextBox.Text);
cmd.Parameters.Add("@NumPayments", SqlDbType.Int, 0).Value = Int32.Parse(numPaymentsTextBox.Text);
cnn.Open();
cmd.ExecuteNonQuery(); //This is where the exception is thrown
cnn.Close();
cmd.Parameters.Clear();
Page.ClientScript.RegisterStartupScript(this.GetType(), "Scripts", "<script>alert('Loan data INSERT success!');</script>");
}
异常读取
“System.Data.SqlClient.SqlException:'将数字转换为数据类型数字的算术溢出错误。语句已终止。'”
我的 Sql Loans 表编码如下:
CREATE TABLE [dbo].[Loans] (
[LoanNum] INT IDENTITY (1, 1) NOT NULL,
[CustName] VARCHAR (50) NOT NULL,
[LoanAmount] DECIMAL (9, 2) NOT NULL,
[AnualIntRate] DECIMAL (3, 3) NOT NULL,
[NumPayments] INT NOT NULL,
PRIMARY KEY CLUSTERED ([LoanNum] ASC));
我尝试了多种使用INSERT
SQL 语句将数据发送到数据库的方法,但每种方法都给我带来了问题。甚至制作一个字符串,我TextBox.Text
将表单中的每条数据直接连接到INSERT
语句中。我正试图在明天早上为一个学校项目使用这种方法,非常感谢帮助。我打算熬夜直到我可以让它工作。
解决方案
推荐阅读
- linux - udpsink 似乎没有流任何东西,但 fileink 工作
- gis - 在 Repast Simphony 中读取并显示 1 个或多个光栅文件
- python - AttributeError: 'StringVar' 对象没有属性 'encode'
- javascript - 如何使 SELECT 标记更改 URL
- postgresql - 如何在运行的 docker-compose 容器中使用 /var/run/docker.sock?
- php - 我想从数据库中查询注册号是用来登录的?
- javascript - 从另一个数组中存在的对象数组中删除对象
- deep-learning - deepmind 使用什么 3d 模拟软件?
- ms-access - 我在编写多级 ms 访问子查询时需要帮助
- shell - 变量未填充到詹金斯管道的 sh 中