private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string strComm,strConn;
strConn = "server=jiang;uid=sa;pwd=;database=Test";
strComm = "Select * From Student";
SqlConnection conn = new SqlConnection(strConn);
conn.Open ();
SqlCommand myComm = new SqlCommand (strComm,conn);
SqlDataAdapter myAdapter = new SqlDataAdapter ();
DataSet myDataSet = new DataSet ();
myAdapter.SelectCommand = myComm;
myAdapter.Fill (myDataSet,"Student");
conn.Close ();
SqlCommandBuilder myCommandBuild = new SqlCommandBuilder (myAdapter);
foreach(DataRow rowIndex in myDataSet.Tables["Student"].Rows )
{
if(rowIndex["grade"].ToString()=="34")
rowIndex.Delete();
Response.Write(rowIndex["grade"].ToString()+"<br>");
}
//string [] addNew = new string [1]{"aaa"};
//myDataSet.Tables ["Student"].Rows .Add (addNew);
myAdapter.Update (myDataSet,"Student");
studentGrid.DataSource = myDataSet.Tables [0];
studentGrid.DataBind ();
}在foreach循环中条件符合都不可以删除,grade是char,10
但是我用列是Name是又可以,Name是varchar,50,
ToString应该可以把数据库所有的类型转成String的吧?
为什么不可以?
{
// 在此处放置用户代码以初始化页面
string strComm,strConn;
strConn = "server=jiang;uid=sa;pwd=;database=Test";
strComm = "Select * From Student";
SqlConnection conn = new SqlConnection(strConn);
conn.Open ();
SqlCommand myComm = new SqlCommand (strComm,conn);
SqlDataAdapter myAdapter = new SqlDataAdapter ();
DataSet myDataSet = new DataSet ();
myAdapter.SelectCommand = myComm;
myAdapter.Fill (myDataSet,"Student");
conn.Close ();
SqlCommandBuilder myCommandBuild = new SqlCommandBuilder (myAdapter);
foreach(DataRow rowIndex in myDataSet.Tables["Student"].Rows )
{
if(rowIndex["grade"].ToString()=="34")
rowIndex.Delete();
Response.Write(rowIndex["grade"].ToString()+"<br>");
}
//string [] addNew = new string [1]{"aaa"};
//myDataSet.Tables ["Student"].Rows .Add (addNew);
myAdapter.Update (myDataSet,"Student");
studentGrid.DataSource = myDataSet.Tables [0];
studentGrid.DataBind ();
}在foreach循环中条件符合都不可以删除,grade是char,10
但是我用列是Name是又可以,Name是varchar,50,
ToString应该可以把数据库所有的类型转成String的吧?
为什么不可以?
方法则是真正的从DataRow中删除一行,RemoveAt方法是根本行的索引来删除
foreach(DataRow rowIndex in myDataSet.Tables["Student"].Rows )
{
if(rowIndex["Name"].ToString()=="conan")
rowIndex.Delete();
}
Name和age的区别紧是定义的类型不同罢了!