1

現在、c#.netで作業しており、Excelシートにあるデータを使用してスクリプト(SQL挿入スクリプト)を生成する必要があります。

具体的には、

Excelシートに3つの列がある場合

**column name** ColumName1, ColumName2, ColumName3 
**data like**   Value1,     Value2,     Value3

-のような挿入スクリプトを生成するコードを書く必要があります

INSERT [dbo]。[TableName]([ColumName1]、[ColumName2]、[ColumName3])VALUES('Value1'、'Value2'、'Value3')

何か案は ?

4

3 に答える 3

1

たとえば、最後の列のフォーラムを作成する必要があります。

="insert into tblyourtablename (intmine, strval) values ("&B4&", N'"&C4&"'); set @intpane = scope_identity(); INSERT INTO tblpane (nameid_fk,strtext,bitmine,vbarmine) VALUES (@intpane ,N'"&D8&"' ,0 ,convert(varbinary,''));"

これで始められるはずです

編集

一部の SQL 文字列に「N」プレフィックスが付いているのはなぜですか? N プレフィックスを使用して文字列を渡す Transact-SQL コードを見たことがあるかもしれません。これは、後続の文字列が Unicode であることを示します (N は実際には National language character set を表します)。これは、CHAR、VARCHAR、または TEXT ではなく、NCHAR、NVARCHAR、または NTEXT 値を渡すことを意味します。これらのデータ型の比較については、記事 #2354 を参照してください。

さらに読むには、次のリンクを参照してください

http://databases.aspfaq.com/general/why-do-some-sql-strings-have-an-n-prefix.html

于 2013-01-11T07:09:44.487 に答える
0
var myConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\Language_Batch1_OneClick.xls';Extended Properties=Excel 8.0;"); ;
var myCommand = new OleDbCommand();
var upCommand = new OleDbCommand();
int i = 0;
try
{

    string sql = null;
    string Value1 =null;
    string Value2=null;
    string Value3=null;
    myConnection.Open();
    myCommand.Connection = myConnection;
    sql = "select ColumName1,ColumName1from,ColumName3  [sheet-name]";
    myCommand.CommandText = sql;
    var dataReader = myCommand.ExecuteReader();
    {
      value1=dataReader["ColumName1"].ToString();
      value2=dataReader["ColumName2"].ToString();
      value3=dataReader["ColumName3"].ToString();

    string newQuery="INSERT [dbo].[TableName] ([ColumName1], [ColumName2], [ColumName3]) VALUES ('"+Value1+"', '"+Value2+"', '"+Value3+"')"
    }

}
于 2013-01-11T07:05:07.750 に答える
0

Excel を読み込んでデータを取得し、挿入スクリプトを生成する

于 2014-02-07T06:41:29.720 に答える