1
DataTable dtUpdt = new DataTable();
try
{
string[] sql = new string[1];
clsGlb.logToFile("dgvItmInv.Columns[e.ColumnIndex].Name = " + dgvItmInv.Columns[e.ColumnIndex].Name + " value: " + dgvItmInv[e.ColumnIndex, e.RowIndex].Value);
sql[0] = "UPDATE tblItmInv SET invAmt = " + dgvItmInv["invAmt", e.RowIndex].Value.ToString().Replace(',', '.') + ", lstUpdateBy = " + clsGlb.usrRid + ", ";
sql[0] += "lstUpdateOn = '" + clsGlb.getDtTmStr(DateTime.Now) + "' ";
sql[0] += " WHERE itmRef = " + dgvItmInv["itmRef", e.RowIndex].Value.ToString();
clsGlb.execSqlStmntsNonQuery(sql, clsGlb.sqlConnEERP);
sql[0] = "SELECT invAmt, fullName, lstUpdateOn FROM tblItmInv ii INNER JOIN tblUser u ON ii.lstUpdateBy = u.rid";
sql[0] += " WHERE itmRef = " + dgvItmInv["itmRef", e.RowIndex].Value.ToString();
sql[0] += " AND rid = " + clsGlb.usrRid +"";
dtUpdt = clsGlb.execSqlStmntReader(sql[0], clsGlb.sqlConnEERP);
dgvItmInv["invAmt", e.RowIndex].Value = dtUpdt.Rows["invAmt"].ToString();
dgvItmInv["lstUpdateBy", e.RowIndex].Value = dtUpdt.Rows["fullName"].ToString();
dgvItmInv["lstUpdateOn", e.RowIndex].Value = dtUpdt.Rows["lstUpdateOn"].ToString();
böyle bir kod bloğum var ve kalın yazılmış olan kısmın altını kırmızı ile çiziyor ve "Argument 1: cannot convert from 'string' to 'int' ve Error 3 The best overloaded method match for 'System.Data.DataRowCollection.this[int]' has some invalid arguments " şeklinde iki adet hata veriyor sebebi ne olabilir bunun veri türünü çevirmeyle ilgili bir hata olduğunu anlıyorum ama ne yapacağımı bilemiyorum yardımcı olursanız sevinirim.
0
DataTable.Rows[Index]
Rows int değeri alır. Yani siz oraya ancak Index numarasını yazabilirsiniz. dtUpdt.Rows[1] gibi.
Cevap yazabilmek için üye girişi yapmalısınız.
Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol