2012-04-07 20 views
0

我遇到问题。我有我的数据库(ID [varchar]和PK不AI,姓名[varchar],姓[varchar])在我的数据库中的表'我在我的c#代码中有一个datagridview。我显示来自我的表'USER'的所有数据。需要将varchar转换为数字并获取datagridview当前单元格值

例如:

1234 - John - Smith 
1347 - Jack - Russel 

后,我需要点击网格单元,并选择数据必须显示在文本框中。例如,我点击1234单元格,在textBox1中,我将在textBox2 - 'lastname'中显示'name'。它由ID生成。

我的代码是:

connecClass connStr = new connectClass(); 
DataGridViewRow currentrow = dataGridView1.CurrentRow; 
string currStr = currentrow .Cells[0].Value.ToString(); 
DataTable tableData = connStr.query("SELECT * FROM USER WHERE ID=" + 
            currentrow); 

我得到一个错误:错误转换类型数据VARCHAR到数字 我尝试另一种方式之后,更换.Cells [0]至.Cells [ “ID”],但出现错误:无法找到列ID。

可能是你可以帮助我或其他一些想法?

回答

1

你说列ID是varchar。也许尝试以下操作:

DataTable tableData = connStr.query("SELECT * FROM USER WHERE ID='" + 
            currStr + "'"); 

换句话说,把单引号(')之间的争论currStr

+0

好的,谢谢,我会试试。这是我的错误的原因吗?我的意思是单引号 – 2012-04-10 08:57:41

+0

@JohnSmith,我不确定。你在某个地方出现了类型不匹配的问题,在这个地方你提供了一个varchar值而数值是预期的。你说你的ID列的类型是varchar ...因此我建议把单引号放在参数值的周围。 – 2012-04-11 06:57:37

相关问题