2014-07-09 26 views
0

我的基本问题是如何获取列表中的选定值并在SQL INSERT语句中使用该值。 我有2个表格 - 联系人和称呼。当插入记录时,从列表中选择称呼(先生,夫人,博士等)。为了方便起见,我只包含了处理这个问题的代码。代码实际上按原样工作,但是,我觉得我的解决方案是可疑的。 下面是代码: -Webmatrix 3使用列表中的参数插入查询

@{ 
    var Saln=""; 


<!DOCTYPE html> 

<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title></title> 
    </head> 
    <body> 

    <Form method="post" action=""> 
    <select name="Choice"> 

@{  
    var db1 = Database.Open("Contact"); 
    var selectCommand1 = "SELECT ID, Saln FROM Salutation"; 
    var selectedData1 = db1.Query(selectCommand1); 

    foreach(var row1 in selectedData1) 
    { 
     <option value="@row1.ID">@row1.Saln</option> 
    } 
    } 
    </select> 
    @{  
    if (Request["Choice"] != null) 
    { 
    var Sal=Request["Choice"]; 
    var db = Database.Open("Contacts"); 
    var insertCommand = "INSERT INTO Contacts (Saln) VALUES("+Request["Choice"]+')'; 
    db.Execute(insertCommand,Saln); 

    } 
    } 
    <input type="submit" value="Submit" /> 
    </form> 
    </body> 
    </html> 

可变SAL或@ 0是不能接受的。

回答

0

也许你应该遵循ASP.NET WebPages上的一个很好的教程,就像http://www.asp.net/web-pages/tutorials那样。

无论如何,你的代码可能是:

@{ 
    var Saln=""; 
    var db1 = Database.Open("Contact"); 
    var selectCommand1 = "SELECT ID, Saln FROM Salutation"; 
    var selectedData1 = db1.Query(selectCommand1); 

    if(IsPost) 
    { 
     if (Request["Choice"] != null) 
     { 
      var db = Database.Open("Contacts"); 
      var insertCommand = "INSERT INTO Contacts (Saln) VALUES(@0)"; 
      db.Execute(insertCommand, Request["Choice"]); 
     } 
    }    
} 

<!DOCTYPE html> 

<html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <title></title> 
</head> 
<body> 

    <Form method="post" action=""> 
    <select name="Choice"> 
     @foreach(var row1 in selectedData1) 
     { 
      <option value="@row1.ID">@row1.Saln</option> 
     } 
    </select> 
    <input type="submit" value="Submit" /> 
    </form> 
</body> 
</html> 
+0

我通过一些教程+一对夫妇books.Thus远的工作,我还没有发现沿着你的建议的线的一例。这是非常好的,我很高兴和感谢您的快速和最有帮助的回应。它为我打开了几扇门,也许它也会帮助其他人。亲切的问候吉姆 – user3820961