我想使用linq将数据插入我的数据库。我按照instruction进行操作,然后根据后面的说明进行编码
private void addNasabah()
{
char gender = cekRadio();
customer customer = new customer()
{
nomor_customer = int.Parse(innomor.Text),
nama = innama.Text.ToString(),
jenis_kelamin = gender,
alamat = inalamat.Text.ToString(),
nomor_telepon = innomor.Text.ToString(),
saldo = 0
};
dc.customers.InsertOnSubmit(customer);
try
{
dc.SubmitChanges();
cmd.cetakSukses("Berhasil Menyimpan Nasabah", "Tambah Nasabah");
innomor.Text = genNextId().ToString();
}
catch (Exception e)
{
cmd.cetakGagal(e.ToString(), "Tambah Nasabah");
}
}
这里是cekRadio()
方法
private char cekRadio()
{
if (radioButton1.Checked)
{
return 'p';
}
else
{
return 'w';
}
}
但是我遇到了一些错误,这是错误
图片说“输入字符串的格式不正确”。
预期的字符串格式是什么?
这是我的genNextId()
方法
private int genNextId()
{
int id = (from a in dc.customers
select a.nomor_customer).Max();
return id+1;
}
我尝试运行该应用程序,消息框显示“Berhasil Menyimpan Nasabah”,“Tambah Nasabah”,但随后我检查了我的数据库,输入的数据不存在。
这是我在数据库上的customer
表
答案 0 :(得分:0)
在此行Customer customer = new Customer()
旁边放置一个断点,现在您可以检查每个变量的值是什么,如果字符串不能,则int.Parse()
可能会成为问题解析为整数。
另外,请确保Customer
的属性为预期类型,例如,请检查jenis_kelamin
。
另一个(与错误无关)点,如果您使用 Object Initializer 即新对象{} ,则可以删除括号(),所以你会...
Customer customer = new Customer { ..properties.. };
编辑:根据您发布的一些评论,我需要指出您检索下一个ID 的方式是一种不好的方法。我在上面的一条评论中指定您应该在SQL中使用Identity字段,这样您就可以设置seed
和increment
,SQL将代表您生成下一个ID。