用c#开发程序,后台数据库是sybase,用odbc连接,现在:
OdbcCommand command = null;
OdbcConnection odbccon = new OdbcConnection(odbcconStr);
odbccon.Open();
command = new OdbcCommand(sSql, odbccon);
sSql = "insert into STORM (YMD,NANJS,LIUH) values (?,?,?)";
command.Parameters.Add(new OdbcParameter("@YMD", OdbcType.DateTime));
command.Parameters.Add(new OdbcParameter("@NANJS", OdbcType.Numeric));
command.Parameters.Add(new OdbcParameter("@LIUH", OdbcType.Numeric));
command.Parameters[0].Value = Convert.ToDateTime(ybdate);//时间
command.Parameters[1].Value = 1.5;
command.Parameters[1].Value = 2.8;
command.ExecuteNonQuery();//执行到这儿报错,说不能从char转换到Numeric型,可是我给参数负的值是数值型的呀。
OdbcCommand command = null;
OdbcConnection odbccon = new OdbcConnection(odbcconStr);
odbccon.Open();
command = new OdbcCommand(sSql, odbccon);
sSql = "insert into STORM (YMD,NANJS,LIUH) values (?,?,?)";
command.Parameters.Add(new OdbcParameter("@YMD", OdbcType.DateTime));
command.Parameters.Add(new OdbcParameter("@NANJS", OdbcType.Numeric));
command.Parameters.Add(new OdbcParameter("@LIUH", OdbcType.Numeric));
command.Parameters[0].Value = Convert.ToDateTime(ybdate);//时间
command.Parameters[1].Value = 1.5;
command.Parameters[1].Value = 2.8;
command.ExecuteNonQuery();//执行到这儿报错,说不能从char转换到Numeric型,可是我给参数负的值是数值型的呀。
command.Parameters[1].Value = Convert.toDecimal(2.8);
这个没有报错
这个连接字符串行吗?我这儿没有sybase11.5,只有12.5,试不起来
sybase12.5用Driver={SYBASE ASE ODBC Driver};DB=jsdb;NA=192.168.0.228,5000;NLN=Winsock;Uid=SUser;Pwd=SPass;
可以
也不行