string strInsert = "INSERT INTO my1(["+names[0]+"]) VALUES ('"+values[0]+"')";
names[0]是string数组的第一个值.,是my1表的字段名.
values[0]是string数组values的第一个值,是字段名的值;
问题就出在这句的VALUES部分.
当values的值含有单引号时,比如:JAMES'S SQUARE,就会出现错误:错误类型为:
语法错误 (操作符丢失) 在查询表达式 '' JAMES'S SQUARE',' 中。我知道可以用C#里的库函数来插入,就不会有错误.但不知道怎么改.
请教各位~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
names[0]是string数组的第一个值.,是my1表的字段名.
values[0]是string数组values的第一个值,是字段名的值;
问题就出在这句的VALUES部分.
当values的值含有单引号时,比如:JAMES'S SQUARE,就会出现错误:错误类型为:
语法错误 (操作符丢失) 在查询表达式 '' JAMES'S SQUARE',' 中。我知道可以用C#里的库函数来插入,就不会有错误.但不知道怎么改.
请教各位~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
解决方案 »
- 怎么把 WebChartControl 绘制的图导入Excel中
- 求助:C#调用WebKit内核的代码?
- 如何获取用ClickOnce安装的程序的地址
- 如何在aspx页面上设置一个定时器?
- c#实现PostScript文件解析标引
- 请问C#winform发布程序时,如果指定程序的安装路径?
- C# 改变颜色问题
- 关于picturebox显示png图片问题
- Why it does not work!!!emergency!!!!
- vs.net2003到底比原来更新了一些什么?
- 关于windows server问题,日访问量在10W或100W以上的,请问windows服务器能承受得了吗?
- 如何取得摄像头视频数据流?不要保存,我需要使用socket发送到目标服务端
更新数据集的方式也可以
1、在软件的输入框,对输入的数据进行合法检查,不符合要求的报错。
2、对于names[0]这类数据要输入数据库之前,要经过一个Check函数,对字符串中的单引号都替换成两个单引号。对双引号、大于号、小于号、逗号等也要进行处理。
using System.Data.OleDb ;
using System.IO;
using System;
//重复输出 record跳行原因,下一行的顺序出错 while 空 if 空
public class FileClass
{
public static void Main()
{
string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\my.mdb" ;
OleDbConnection aConnection = new OleDbConnection ( strConnect ) ; //以字串为参数
aConnection.Open ( ) ;
StreamReader SR;
string Big;
SR=File.OpenText("c:\\ISI 的SSCI & AHCI 1975-1984年3020篇.txt");
Big=SR.ReadLine();
string [] names=new string[10] {"Author(s)","Title", "Source" ,"Language","Leuwords","patterns","Abstract","Addresses","Publisher","Publisher Address"};
string [] values=new string[10]{"","","","","","","","","",""};
int pos; while(Big!=null)
{
Console.WriteLine("处理中……");
while(Big.IndexOf("Record")==0)
{
Big=SR.ReadLine();
if(Big==null) break;
while((Big.IndexOf("Record")!=0)&&(Big!=null))//&&
{
int j=Big.IndexOf(':');
if(j>=0)
{
for(pos=0;pos<10;pos++)
{
if(Big.Substring(0,j)==names[pos])
{
values[pos]=Big.Substring(j+1);
break;
}
}
}
Big=SR.ReadLine();
if(Big==null) break; }
string strInsert = "INSERT INTO my1(["+names[0]+"],["+names[1]+"],["+names[2]+"],["+names[3]+"],["+names[4]+"],["+names[5]+"],["+names[6]+"],["+names[7]+"],["+names[8]+"],["+names[9]+"]) VALUES ('"+values[0]+"','"+values[1]+"','"+values[2]+"','"+values[3]+"','"+values[4]+"','"+values[5]+"','"+values[6]+"','"+values[7]+"','"+values[8]+"','"+values[9]+"')";
OleDbCommand aCommand = new OleDbCommand ( strInsert,aConnection ) ;
try
{
OleDbDataReader aReader = aCommand.ExecuteReader ( ) ;
aReader.Close ( ) ;
}
catch ( OleDbException e )
{
Console.WriteLine ( "错误类型为:");
Console.WriteLine ( e.Errors[0].Message ) ;
}
if(Big==null) break;
}
Big=SR.ReadLine();
if(Big!=null) break;
}
SR.Close();
aConnection.Close();
Console.WriteLine("提取完毕,按回车键退出");
Console.Read();
}
}还有文本文件内容如下,就可以发现错误
Record 1 of 500
Author(s): KETUDAT, S
Title: FRANCE'MANE
Source: PROSPECTS, 14 (4): 523-530 1984
Language: English
Publisher: UNESCO
Publisher Address: 7 PLACE DE FONTENOY, 75700 PARIS Record 2 of 500
Author(s): TUAN, DT
Title: GREEN WINTERS ON THE RED-RIVER + CULTIVATION OF RICE IN VIETNAM AND THE WATER-FERN AZOLLA
Source: UNESCO COURIER, (12): 22-23 1984
Language: English
Reprint Address: TUAN, DT, VIETNAM AGR SCI INST,MINIST AGR,HANOI,VIETNAM.
Publisher: UNESCO
Publisher Address: 7 PLACE DE FONTENOY, 75700 PARIS, FRANCE --------------------------------------------------------------------------------
Record 3 of 500
Author(s): VALLIBHOTAMA, S
Title: A CITY BUILT ON RICE SUKHOTHAI,THAILAND, 13TH-CENTURY CRADLE OF THAI CIVILIZATION
Source: UNESCO COURIER, (12): 26-27 1984
Language: English
Reprint Address: VALLIBHOTAMA, S, SILPAKON UNIV,BANGKOK,THAILAND.
Publisher: UNESCO
Publisher Address: 7 PLACE DE FONTENOY, 75700 PARIS, FRANCE --------------------------------------------------------------------------------
Record 4 of 500
Author(s): KLING, Z
Title: THE SOUL OF A PEOPLE + THE ROLES AND IMPORTANCE OF RICE IN MALAYSIA
Source: UNESCO COURIER, (12): 32-33 1984
Language: English
Reprint Address: KLING, Z, UNIV MALAYA,DEPT SOCIOL & ANTHROPOL,KUALA LUMPUR 2211,MALAYSIA.
Publisher: UNESCO
Publisher Address: 7 PLACE DE FONTENOY, 75700 PARIS, FRANCE --------------------------------------------------------------------------------
Record 5 of 500
Author(s): MURRAY, P
Title: STYLE AND REGIONALISM IN MALAYSIA
Source: RIBA JOURNAL-ROYAL INSTITUTE OF BRITISH ARCHITECTS, 91 (11): 40-45 1984
Language: English
Publisher: ROYAL INST BRIT ARCHITECTS
Publisher Address: 66 PORTLAND PL, LONDON, ENGLAND W1N 4AD --------------------------------------------------------------------------------
表名为my1
字段有:Author(s) Title Source Language Leuwords patterns Abstract Addresses Publisher Publisher Address
OleDbCommand cmd=new OleDbCommand();
cmd.Parameters.Add(strParams[i],strValues[i]);
cmd.ExecuteNonQuery();
用Response.write(sql)打出来看看
SqlDataAdapter adapter=new SqlDataAdapter("select * from titles",
"server=localhost;database=pubs;uid=sa;pwd=");
SqlCommandBuilder builder=new SqlCommandBuilder(adapter);
DataSet ds=new DataSet();
adapter.Fill(ds,"Titles"); DataTable table=ds.Tables["Titles"];
DataRow row=table.NewRow();//创建新行
row["title_id"]="JP1001";
row["title"]="Programming Microsoft .NET";
row["price"]="59.99";
row["ytd_sales"]="1000000";
row["type"]="business";
row["pubdate"]="2004-2-10";
table.Rows.Add(row);//增加行
adapter.Update(ds,"Titles");
Console.WriteLine("OK");OleDbDataAdapter da = new OleDbDataAdapter();
OleDbCommand cmd; // Create the SelectCommand. cmd = new OleDbCommand("SELECT * FROM Customers " +
"WHERE Country = @Country AND City = @City", conn); cmd.Parameters.Add("@Country", OleDbType.VarChar, 15);
cmd.Parameters.Add("@City", OleDbType.VarChar, 15); da.SelectCommand = cmd; // Create the InsertCommand. cmd = new OleDbCommand("INSERT INTO Customers (CustomerID, CompanyName) " +
"VALUES (@CustomerID, @CompanyName)", conn); cmd.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID");
cmd.Parameters.Add("@CompanyName", OleDbType.VarChar, 40, "CompanyName"); da.InsertCommand = cmd;