cmd.ExecuteNonQuery()报错
inti=cmd.ExecuteNonQuery();报错,插入语句为:INSERTintonxd100_results_precision(result_time,no...
int i = cmd.ExecuteNonQuery();报错,插入语句为:INSERT into nxd100_results_precision (result_time,nodeid,parent,adc0,voltage,humid3,temp3) values (now(),{0},{1},{2},{3},{4},{5})
Insert 程序段:
public bool Insert(string query)
{
bool isSuccess = false;
if (this.OpenConnection() == true)
{
NpgsqlCommand cmd = new NpgsqlCommand(query, connection);
try
{
int i = cmd.ExecuteNonQuery();
if (i <= 0)
{
Console.WriteLine("插入错误!");
}
else
{
isSuccess = true;
}
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
throw;
}
finally
{
this.CloseConnection();
}
return isSuccess;
}
else
{
return false;
}
}
该段程序是本地往远程服务器数据库写入数据,由于最后程序输入的数据类型有整型和double型,所以我指定为objects类型数。
只能远程网数据库插入一条数据,接着程序报错,程序假死。小弟已经弄了两个晚上,毫无进展。望高人指点~~ 展开
Insert 程序段:
public bool Insert(string query)
{
bool isSuccess = false;
if (this.OpenConnection() == true)
{
NpgsqlCommand cmd = new NpgsqlCommand(query, connection);
try
{
int i = cmd.ExecuteNonQuery();
if (i <= 0)
{
Console.WriteLine("插入错误!");
}
else
{
isSuccess = true;
}
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
throw;
}
finally
{
this.CloseConnection();
}
return isSuccess;
}
else
{
return false;
}
}
该段程序是本地往远程服务器数据库写入数据,由于最后程序输入的数据类型有整型和double型,所以我指定为objects类型数。
只能远程网数据库插入一条数据,接着程序报错,程序假死。小弟已经弄了两个晚上,毫无进展。望高人指点~~ 展开
展开全部
'
你的str有先定义过没?没有最好先定义下
str
=
"insert
into
xsxx
(number,name,csrq,sex)
values
('"
&
TextBox1.Text
&
"','"
&
TextBox2.Text
&
"','"
&
TextBox3.Text
&
"','"
&
TextBox4.Text
&
"')"
Dim
cmd
As
OleDb.OleDbCommand
=
New
OleDb.OleDbCommand(str,
conn)
'
上面这2句顺序调换以下,否则你创建cmd对象的时候,cmd.CommandText是空的,后面对str赋值,但并没对cmd.CommandText再次赋值,所以执行错误。
或者改为:
Dim
cmd
As
OleDb.OleDbCommand
=
New
OleDb.OleDbCommand(str,
conn)
str
=
"insert
into
xsxx
(number,name,csrq,sex)
values
('"
&
TextBox1.Text
&
"','"
&
TextBox2.Text
&
"','"
&
TextBox3.Text
&
"','"
&
TextBox4.Text
&
"')"
cmd.CommandText
=
str
你的str有先定义过没?没有最好先定义下
str
=
"insert
into
xsxx
(number,name,csrq,sex)
values
('"
&
TextBox1.Text
&
"','"
&
TextBox2.Text
&
"','"
&
TextBox3.Text
&
"','"
&
TextBox4.Text
&
"')"
Dim
cmd
As
OleDb.OleDbCommand
=
New
OleDb.OleDbCommand(str,
conn)
'
上面这2句顺序调换以下,否则你创建cmd对象的时候,cmd.CommandText是空的,后面对str赋值,但并没对cmd.CommandText再次赋值,所以执行错误。
或者改为:
Dim
cmd
As
OleDb.OleDbCommand
=
New
OleDb.OleDbCommand(str,
conn)
str
=
"insert
into
xsxx
(number,name,csrq,sex)
values
('"
&
TextBox1.Text
&
"','"
&
TextBox2.Text
&
"','"
&
TextBox3.Text
&
"','"
&
TextBox4.Text
&
"')"
cmd.CommandText
=
str
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二楼至于是什么错误,其实程序提示语句已经指出啦,所以需要程序去处理,我想说的是楼主你的错误其实并非那句话错误而是需要解决那个异常,至于异常可以用throw
或是
二楼说的
或是
二楼说的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把这行加上try、catch,然后输出异常信息,就可以知道是什么错误了。解决问题总要有个思路的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-20
展开全部
报错也不贴个报错内容出来,另外请单步调试一下,看在catch里给的错误还是你在判断i<=0给的错
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询