查找datatable中的所有列以及ID

时间:2017-02-05 06:01:11

标签: c# sql asp.net

我有一个表适配器,可以在我的数据库中搜索并返回StatusValue == false行。

现在我要删除这些行。我怎么能在C#中做到这一点?

我在c#中的代码:

DataSet.TableDataTable TableDT = new DataSet.TableDataTable();
DataSetTableAdapters.TableTableAdapter TableTA = new DataSetTableAdapters.TableTableAdapter();

TableTA.FillByUserStatus(TableDT, false);
// Here I want to delete rows in my database by IDs;

我的SQL代码:

CREATE TABLE [dbo].[Table] 
(
    [UserID]         INT            IDENTITY (1, 1) NOT NULL,
    [firstname]      NVARCHAR (50)  NOT NULL,
    [lastname]       NVARCHAR (50)  NOT NULL,
    [field]          NVARCHAR (50)  NOT NULL,
    [number]         NCHAR (20)     NOT NULL,
    [email]          NCHAR (50)     NULL,
    [Ordered Amount] INT            NOT NULL,
    [Description]    NVARCHAR (MAX) NOT NULL,
    [ReservationStatus] BIT NOT NULL, 

    PRIMARY KEY CLUSTERED ([UserID] ASC)
);

2 个答案:

答案 0 :(得分:0)

由于您拥有数据表,因此很容易删除行

DataTable dt = new DataTable();

//Fill the data table with rows 

var rows = dt.DefaultView;
rows.RowFilter = "your condition";
for (var i = 0; i <= rows.Count - 1; i++)
{
    dt.Rows.Remove(rows[i].Row);
}

如果您使用EF,使用LINQ从C#中可以轻松实现。要查找表中的所有列,您需要知道表元数据。

答案 1 :(得分:0)

正如CodingYoshi在评论中所说,将行加载到表中并逐个删除是没有意义的。那将是指数性的慢。将命令传递给数据库,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/pager"
                android:layout_width="match_parent"
                android:layout_height="match_pranet"
                android:visibility="visible">
            </android.support.v4.view.ViewPager>


        </LinearLayout>
    </ScrollView>
</LinearLayout>

如果你有时间,我建议你阅读ORM和存储过程。