点号 X Y Z 点性质
1 -2019.035 -290.9444 0 1
以下还有很多这样的列,如果想把这里的每一列数据保存到SQL数据库中,应该怎样做?请各位大侠给予知道,帮忙写出源代码,谢谢,非常感谢!
10 个解决方案
#1
一行一行解析,然后再插入数据,不行么?
#2
按行读呗,没好办法
#3
最好是固定分隔符的文本,比如CVS格式就是那样,如果导入的内容中也可能含有逗号,那么就不要将逗号作为分隔符了,如果导入的内容中有可能出现换行符,比如某个列就是一段文本,那么行结束符也不能使用默认的。
然后调用外部工具bcp即可完成快速导入,有关bcp的用法你在命令行下键入“bcp /?”即可给出详细的解说。那个C#调用外部程序怎么做,应该不用说了吧,有个Process类的,你可以看下MSDN的帮助。
然后调用外部工具bcp即可完成快速导入,有关bcp的用法你在命令行下键入“bcp /?”即可给出详细的解说。那个C#调用外部程序怎么做,应该不用说了吧,有个Process类的,你可以看下MSDN的帮助。
#4
有现成的工具啊,sql的导入导出
#5
嗯,实在不行,弄个dataset或datatable之类的,把东西存进去,然后更新好了
#6
额,最好是先读下SQL里表的结构
#7
这样的很多,要写一工具。
读文体的列内容,选数据库的列内容,
然后做自动对应与手工对应。
导入时,先将数据读出生成sql insert代码就可以了。
读文体的列内容,选数据库的列内容,
然后做自动对应与手工对应。
导入时,先将数据读出生成sql insert代码就可以了。
#8
string dh = a[0];
string X1 = a[1];
string Y1 = a[2];
string Z1 = a[3];
string bj1 = a[4];
string dxz1 = a[5];
string qyh1 = a[6];
string dmc1 = a[7];
string yxx1 = a[8];
string constr = @"data source=PC-11191038\SQLEXPRESS;initial catalog=露天矿卡车调度系统;user id=sa;password=sa;";
string strSQL = "insert into PersonInfo(X,Y,Z,bj,dxz,qyh,dmc,yxx) values('" + X1 + "','" + Y1 + "','" + Z1 + "','" + bj1 + "','" + dxz1 + "','" + qyh1 + "','" + dmc1 + "','" + yxx1 + "')";
SqlConnection connection = new SqlConnection(constr);
SqlCommand command = new SqlCommand(strSQL, connection);
connection.Open();
int count = command.ExecuteNonQuery();
connection.Close();
if (count != 0)
{
return true;
}
else
{
return false;
}
以上是我的代码,但是每到“int count = command.ExecuteNonQuery();”时,就警告“从数据类型 varchar 转换为 float 时出错。”
我实在找不出是什么原因了!
string X1 = a[1];
string Y1 = a[2];
string Z1 = a[3];
string bj1 = a[4];
string dxz1 = a[5];
string qyh1 = a[6];
string dmc1 = a[7];
string yxx1 = a[8];
string constr = @"data source=PC-11191038\SQLEXPRESS;initial catalog=露天矿卡车调度系统;user id=sa;password=sa;";
string strSQL = "insert into PersonInfo(X,Y,Z,bj,dxz,qyh,dmc,yxx) values('" + X1 + "','" + Y1 + "','" + Z1 + "','" + bj1 + "','" + dxz1 + "','" + qyh1 + "','" + dmc1 + "','" + yxx1 + "')";
SqlConnection connection = new SqlConnection(constr);
SqlCommand command = new SqlCommand(strSQL, connection);
connection.Open();
int count = command.ExecuteNonQuery();
connection.Close();
if (count != 0)
{
return true;
}
else
{
return false;
}
以上是我的代码,但是每到“int count = command.ExecuteNonQuery();”时,就警告“从数据类型 varchar 转换为 float 时出错。”
我实在找不出是什么原因了!
#9
8楼的 sql 语句写错了,数据表中字段类型为 float , insert 语句中却按字符类型写
#10
我的问题解决了,很感谢各位!
#1
一行一行解析,然后再插入数据,不行么?
#2
按行读呗,没好办法
#3
最好是固定分隔符的文本,比如CVS格式就是那样,如果导入的内容中也可能含有逗号,那么就不要将逗号作为分隔符了,如果导入的内容中有可能出现换行符,比如某个列就是一段文本,那么行结束符也不能使用默认的。
然后调用外部工具bcp即可完成快速导入,有关bcp的用法你在命令行下键入“bcp /?”即可给出详细的解说。那个C#调用外部程序怎么做,应该不用说了吧,有个Process类的,你可以看下MSDN的帮助。
然后调用外部工具bcp即可完成快速导入,有关bcp的用法你在命令行下键入“bcp /?”即可给出详细的解说。那个C#调用外部程序怎么做,应该不用说了吧,有个Process类的,你可以看下MSDN的帮助。
#4
有现成的工具啊,sql的导入导出
#5
嗯,实在不行,弄个dataset或datatable之类的,把东西存进去,然后更新好了
#6
额,最好是先读下SQL里表的结构
#7
这样的很多,要写一工具。
读文体的列内容,选数据库的列内容,
然后做自动对应与手工对应。
导入时,先将数据读出生成sql insert代码就可以了。
读文体的列内容,选数据库的列内容,
然后做自动对应与手工对应。
导入时,先将数据读出生成sql insert代码就可以了。
#8
string dh = a[0];
string X1 = a[1];
string Y1 = a[2];
string Z1 = a[3];
string bj1 = a[4];
string dxz1 = a[5];
string qyh1 = a[6];
string dmc1 = a[7];
string yxx1 = a[8];
string constr = @"data source=PC-11191038\SQLEXPRESS;initial catalog=露天矿卡车调度系统;user id=sa;password=sa;";
string strSQL = "insert into PersonInfo(X,Y,Z,bj,dxz,qyh,dmc,yxx) values('" + X1 + "','" + Y1 + "','" + Z1 + "','" + bj1 + "','" + dxz1 + "','" + qyh1 + "','" + dmc1 + "','" + yxx1 + "')";
SqlConnection connection = new SqlConnection(constr);
SqlCommand command = new SqlCommand(strSQL, connection);
connection.Open();
int count = command.ExecuteNonQuery();
connection.Close();
if (count != 0)
{
return true;
}
else
{
return false;
}
以上是我的代码,但是每到“int count = command.ExecuteNonQuery();”时,就警告“从数据类型 varchar 转换为 float 时出错。”
我实在找不出是什么原因了!
string X1 = a[1];
string Y1 = a[2];
string Z1 = a[3];
string bj1 = a[4];
string dxz1 = a[5];
string qyh1 = a[6];
string dmc1 = a[7];
string yxx1 = a[8];
string constr = @"data source=PC-11191038\SQLEXPRESS;initial catalog=露天矿卡车调度系统;user id=sa;password=sa;";
string strSQL = "insert into PersonInfo(X,Y,Z,bj,dxz,qyh,dmc,yxx) values('" + X1 + "','" + Y1 + "','" + Z1 + "','" + bj1 + "','" + dxz1 + "','" + qyh1 + "','" + dmc1 + "','" + yxx1 + "')";
SqlConnection connection = new SqlConnection(constr);
SqlCommand command = new SqlCommand(strSQL, connection);
connection.Open();
int count = command.ExecuteNonQuery();
connection.Close();
if (count != 0)
{
return true;
}
else
{
return false;
}
以上是我的代码,但是每到“int count = command.ExecuteNonQuery();”时,就警告“从数据类型 varchar 转换为 float 时出错。”
我实在找不出是什么原因了!
#9
8楼的 sql 语句写错了,数据表中字段类型为 float , insert 语句中却按字符类型写
#10
我的问题解决了,很感谢各位!