错误信息如下:
E:\Code\Visual.Net\WebTest\1103>DataSetExample         CompanyName               Phone
____________________________________________________________
      Speedy Express      (503) 555-9831
      United Package      (503) 555-3199
    Federal Shipping      (503) 555-9931
              Koukai         13338656561未处理的异常: System.InvalidOperationException: 当传递具有新行的 DataRow 集合时
,更新要求有效的 InsertCommand。
   at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMappi
ng tableMapping)
   at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
   at DataSetsExample.Main(String[] args)代码如下:
using System;
using System.Data;
using System.Data.SqlClient;class DataSetsExample
{
static void Main(string[] args)
{
string ConnStr = "Data Source = (local)\\NetSDK;Initial Catalog = NorthWind;"+
"User ID=SA;PassWord=()bbvoip12";
SqlConnection Conn = null;
try
{
Conn = new SqlConnection(ConnStr);
//Conn.Open();

DataSet shippersDS = new DataSet();
SqlDataAdapter shippersAdapter = new SqlDataAdapter("Select * from Shippers",Conn);

shippersAdapter.Fill(shippersDS,"Shippers");

DataTable shippersTable = shippersDS.Tables["Shippers"];

DataRow newShipper = shippersTable.NewRow();

newShipper["CompanyName"] = "Koukai";
newShipper["Phone"] = "13338656561";

shippersTable.Rows.Add(newShipper);

Console.WriteLine();

for(int i=1;i<shippersTable.Columns.Count;i++)
{
Console.Write("{0}",shippersTable.Columns[i].Caption.PadLeft(20,' '));
}
Console.WriteLine("\n{0}","".PadLeft(60,'_'));

string CompanyName;
string Phone;
foreach(DataRow shipper in shippersTable.Rows)
{
CompanyName=(string)shipper["CompanyName"];
Phone = (string)shipper["Phone"];
Console.WriteLine("{0}{1}",CompanyName.PadLeft(20,' '),Phone.PadLeft(20,' '));
}
shippersAdapter.Update(shippersDS,"Shippers");
}
catch(SqlException e)
{
Console.WriteLine("SQL Exception Message:{0}",e);
}
}
}