2013-01-23 399 views
0

有人可以幫助我,請以修復錯誤。 這是我的代碼:類型或命名空間名稱「SqlBulkCopy的」找不到

using System; 
using System.Drawing; 
using System.Collections; 
using System.ComponentModel; 
using System.Windows.Forms; 
using System.Data.SqlClient; 
using System.Data.OleDb; 
using System.Data; 
using Microsoft.ApplicationBlocks.Data; 
using System.Configuration; 

OleDbConnection ExcelCon = new OleDbConnection(); 
ExcelCon.ConnectionString = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=C:\\Users\\pc\\Documents\\ExcellTest.xlsx;Extended Properties=\"Excel 12.0;HDR=Yes\""; 
SqlConnection SqlCon = new SqlConnection(); 
SqlCon.ConnectionString = @"workstation id = PC-PC; user id=sa;Password=sapassword; data source=pc-pc; persist security info=True; initial catalog=CleanPayrollTest2"; 
string sSQLTable = "TestExcell"; 
string sClearSQL = "DELETE FROM " + sSQLTable; 
SqlCommand SqlCmd = new SqlCommand(sClearSQL, SqlCon); 
SqlCon.Open(); 
SqlCmd.ExecuteNonQuery(); 
SqlCon.Close(); 
DataTable dtSchema; 
dtSchema = ExcelCon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); 
OleDbCommand Command = new OleDbCommand ("select * FROM [" + dtSchema.Rows[0]["TABLE_NAME"].ToString() + "]", ExcelCon); 
OleDbDataAdapter da = new OleDbDataAdapter(Command); 
DataSet ds = new DataSet(); 
da.Fill(ds); 
dataGrid1.DataSource = ds.Tables[0]; 
    OleDbDataReader dr = Command.ExecuteReader(); 
SqlBulkCopy bulkCopy = new SqlBulkCopy(sSqlConnectionString); 
bulkCopy.DestinationTableName = sSQLTable; 
while (dr.Read()) 
{ 
    bulkCopy.WriteToServer(dr); 
} 

錯誤:

-The類型或命名空間名稱bulkCopy「找不到(?是否缺少using指令或程序集引用)

- 無法找到類型或名稱空間名稱'SqlBulkCopy'(您是否缺少使用指令或程序集引用?)

- 找不到類型或名稱空間名稱'OleDbConn'(您是否缺少using指令或一個程序集引用? )

+0

你包括使用System.Data.SqlClient的;在你的類定義的頂部? – Matt

+1

錯誤說明了這一切。無法找到類型,因爲您要麼缺少'using'指令,要麼缺少程序集引用。添加指定正確名稱空間的'using'子句,和/或添加適當的程序集引用。如果你將採取一看[文件](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx),你就已經看到了'SqlBulkCopy'class位於'System.Data.dll'程序集的'System.Data.SqlClient'命名空間中。 – CodeCaster

+0

我向你保證,我沒有寫的東西使用所有... – Nejthe

回答

2

SqlBulkCopy類屬於對System.Data.SqlClient命名空間。將您的代碼添加爲它的名稱空間;

using System.Data.SqlClient; 

這個命名空間包含在System.Data.dll

對於添加在Visual Studio中的參考,你可以右鍵點擊 「Reference」 在解決方案資源管理器,然後單擊Add Reference

enter image description here

在搜索框中搜索System.Data,頂部結果System.Data DLL添加到您的解決方案。

enter image description here

MSDN退房爲How to: Add or Remove References By Using the Add Reference Dialog Box更多信息。

+0

我已經做到了 – Nejthe

+0

@Nejthe什麼是'bulkCopy'的類型和'OleDbConn'那麼唯一的錯誤? –

+0

@Nejthe在同一個方法中定義了'bulkCopy'和'OleDbConn'嗎? –

1

您是否在項目中引用了System.Data.dll,並且在文件中是否有using System.Data.SqlClient聲明?

+0

是的,我有一個使用System.Data.SqlClient語句 但是我如何檢查如果我有referenxe到System.Data.dll? 對不起,我是新來的c# – Nejthe

+0

在Visual Studio中,展開你的項目,你應該看到一個'References'文件夾。展開,並檢查你可以在列表中看到'System.Data'。 –

+0

是的,我可以看到它 – Nejthe

相關問題