2016-04-27 38 views
2

所以我想将一个'Team Member'数据表的成员添加到代表一个团队的'SoccerBlue'DT中。我建立了一个文本框,用户基本上可以查看玩家的网格视图,选择玩家,然后写下玩家的电子邮件,从“团队成员”中删除哪个玩家添加到“SoccerBlue”。我正在提出的问题是值不会被添加到按钮点击'SoccerBlue'DT。如何将数据从一个Access DataTable添加到同一DataBase中的另一个Datatable插入的数据依赖于文本框控件?

我得到的错误是发生错误:没有给出一个或多个所需参数的值。

分贝

enter image description here

enter image description here

protected void Button1_Click1(object sender, EventArgs e) 
{ 
    OleDbConnection conn = null; 
    DataTable gridTable = new DataTable(); 
    try 
    { 
     string connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 
     conn = new OleDbConnection(connString); 

     string query = "INSERT INTO [SoccerBlue] " + "(FirstName, LastName, Email, Age) " + "SELECT FirstName, LastName, Email, Age " + "FROM [Team Member] " + "WHERE Email = txtAdd.Text"; 
     // string query = "INSERT INTO [Team Member] (Soccer, Basketball, Football, Softball) VALUES(" + c1.Checked.ToString() + ", " + c2.Checked.ToString() + ", " + c3.Checked.ToString() + ", " + c4.Checked.ToString() + ")"; 


     OleDbCommand cmd = new OleDbCommand(query, conn); 
     conn.Open(); 


     cmd.CommandType = CommandType.Text; 
     cmd.ExecuteNonQuery(); 
     cmd.Dispose(); 
     lblError.Text = ("Teamate Added!"); 

    } 
    catch (Exception ex) 
    { 
     lblError.Text = ("Error occurred: " + ex.Message); 
    } 
    finally 
    { 
     conn.Close(); 
    } 
} 
+0

你没有把它添加到数据表... – Gusman

+0

我知道这是我的问题,我在搞什么? –

+0

您最有可能在[SoccerBlue]表中没有插入的所需列。也就是说,数据库中的其中一列被定义为NOT NULL,而没有为其分配自动生成的默认值。问题不是没有定义这个值就不能插入一行。这将是您没有列入要插入的列名称列表中的一个。 – JSON

回答

1

假设txtAdd.Text是一个文本框那么这行:

string query = "INSERT INTO [SoccerBlue] " + "(FirstName, LastName, Email, Age) " + "SELECT FirstName, LastName, Email, Age " + "FROM [Team Member] " + "WHERE Email = txtAdd.Text"; 

应该是这样的:

string query = "INSERT INTO [SoccerBlue] " + "(FirstName, LastName, Email, Age) " + "SELECT FirstName, LastName, Email, Age " + "FROM [Team Member] " + "WHERE Email = '" + txtAdd.Text + "'"; 
+0

txtAdd.Text是我正在检查数据库的对象。现在我添加一张照片,看看它是什么样子。我很遗憾地得到相同的错误。 –

+0

这是我的新错误发生错误:查询表达式'Email = [email protected]'中的语法错误(缺少运算符)。 [email protected]是文本框中与dt相比较的文本[团队成员] –

+0

是的,第一个例子中的语法肯定是错误的。现在它正在看到电子邮件地址。我会为新错误更新我的答案。 – dcreight

相关问题