none
textbox储存进dataset方法 RRS feed

  • 問題

  • <Window x:Class="Project.NewPatient"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="NewPatient" 
            Loaded="OnLoaded"
            Height="170"
            Width="300"
            WindowStartupLocation="CenterScreen">
        <Window.Resources>
            <DataTemplate x:Key="EmployeeListTemplate">
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding Path=Name}" />
                    <TextBlock Text=" " />
                    <TextBlock Text="{Binding Path=Age}" />
                </StackPanel>
            </DataTemplate>
        </Window.Resources>
        <Window.Background>
            <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                <LinearGradientBrush.GradientStops>
                    <GradientStop Color="DarkGray" Offset="0" />
                    <GradientStop Color="White" Offset=".75" />
                    <GradientStop Color="DarkGray" Offset="1" />
                </LinearGradientBrush.GradientStops>
            </LinearGradientBrush>
        </Window.Background>
        <StackPanel Name="theStackPanel" 
                  VerticalAlignment="Top">
            <Canvas>
                <Canvas.Resources>
                    <Style TargetType="{x:Type TextBox}">
                        <Setter Property="Canvas.Left" Value="160" />
                        <Setter Property="Padding" Value="0" />
                        <Setter Property="Height" Value="18" />
                        <Setter Property="Width" Value="120" />
                    </Style>
                    <Style TargetType="{x:Type TextBlock}">
                        <Setter Property="Canvas.Left" Value="90" />
                        <Setter Property="Padding" Value="0" />
                        <Setter Property="Height" Value="18" />
                        <Setter Property="FontWeight" Value="Bold" />
                    </Style>
                </Canvas.Resources>
                <Image Name="theImage" Canvas.Top="5" Canvas.Left="5" Width="75"/>
                <TextBlock Canvas.Top="5">Name:</TextBlock>
                <TextBox Canvas.Top="5" Text="{Binding Path=Name}" />
                <TextBlock Canvas.Top="25">Age:</TextBlock>
                <TextBox Canvas.Top="25" Text="{Binding Path=Age}" />
                <TextBlock Canvas.Top="45">Gender:</TextBlock>
                <TextBox Canvas.Top="45" Text="{Binding Path=Gender}" />
                <TextBlock Canvas.Top="65">Email:</TextBlock>
                <TextBox Canvas.Top="65" Text="{Binding Path=Email}" />
                <Button Canvas.Top="85" Canvas.Left="90" Width="190" 
                  Name="SaveButton" Click="SaveButton_OnClick">Save</Button>
            </Canvas>
        </StackPanel>
    </Window>
    
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using System.Data.SqlClient;
    using System.Configuration;
    
    
    namespace Project
    {
        /// <summary>
        /// Interaction logic for NewPatient.xaml
        /// </summary>
        public partial class NewPatient : Window
        {
    
            public NewPatient()
            {
                InitializeComponent();
            }
    
            private void OnLoaded(object sender, RoutedEventArgs e)
            {
                ClinicDatabaseDataSet theSet = new ClinicDatabaseDataSet();
    
                string connString = ConfigurationManager.ConnectionStrings["ClinicDatabaseEntities"].ConnectionString;
    string PatientQuery = @"
      SELECT Id, Name, Age, Email, Gender, Photo 
      FROM Patient
    ";
    
    
    // Fill the Set with the data
    using (SqlConnection conn = new SqlConnection(connString))
    {
      SqlDataAdapter da = new SqlDataAdapter(PatientQuery, conn);
      da.Fill(theSet, "Patient");
      
    }
    
    
      }
    
            private void SaveButton_OnClick(object sender, RoutedEventArgs e)
            {
    
    
            
      string query = "insert into test1(name,age) values('"+Name+"','"+age+"')";
      string connectString = ("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ClinicDatabase.mdf;Integrated Security=True;User Instance=True");
      SqlConnection.open();
       ClinicDatabaseDataSet  ds = new  ClinicDatabaseDataSet ();
      SqlDataAdapter ad = new SqlDataAdapter(query, SqlConnection);
      ad.Fill(ds, "dbo.test1");
      if(ds.Tables[0].Rows[0]["name"] = name&&
      ds.Tables[0].Rows[0]["age"] = age)
    {
      MessageBox.Show("success!");
    }
    }
    
    
            }
    }
        
    

    问题1 : 如何 改成 ado to linq 储存方法? foreach = ???
    问题 2 : textbox 如何按save button 然后save进dataset ?

    问题3 : 我发现我不太理解 dataset/ entity framework/ 和 linq 的分别?

    问题4 : 有什么书籍是关于类似这个问题 ?

    问题5 : 还有什么类似的网站是关于类似这个问题的解决 和 链接方法 ?

    谢谢.



    2012年5月6日 上午 06:12

解答

所有回覆

  • [資料存取和模型]

    你會需要這份文件的


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已提議為解答 Alex_Lee 2012年5月6日 下午 02:23
    2012年5月6日 上午 06:57
  • 请问我写的code 错在哪里...? 我需要学习,但是我不会英文... 
    2012年5月6日 上午 07:10
  • 因為儲存不是用 DbDataAdapter.Fill

    另外, 我給的link 是中文的吧

    你可以先從其中的這一段看起 [擷取和修改 ADO.NET 中的資料]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已提議為解答 Alex_Lee 2012年5月6日 下午 02:23
    2012年5月6日 上午 07:15
  • 那么save button呢 ? 请问有类似的参考code吗??? 
    2012年5月6日 上午 07:22
  • [SqlCommand.ExecuteNonQuery 方法 ]

    直接抄沒什麼幫助的, 從頭開始把該懂的弄通才是王道.

    [點部落的相關文章]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已提議為解答 Alex_Lee 2012年5月6日 下午 02:23
    2012年5月6日 上午 07:27
  • 不是直接抄,而是我有繁多的form 需要处理...我不够时间一个一个看...对不起
    • 已編輯 KKLEO 2012年5月6日 上午 07:39
    2012年5月6日 上午 07:39
  • bil chung我真的很需要類似的tutorial,我已經看完了你給的資料,可是我還是不會
    2012年5月6日 上午 09:46
  • 或許你可以利用SqlDataAdapter的Update方法來儲存資料。

    http://msdn.microsoft.com/zh-tw/library/z1z2bkx2.aspx


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    2012年5月7日 上午 01:47
  • 您好,

    看您的程式,感覺您只需要SqlCommand去執行它就可以了!

    SqlCommand objCmd = new SqlCommand(query, SqlConnection);
    objCmd.ExecuteNonQuery();

    HOW TO:使用 ADO.NET 和 Visual Basic .NET 與資料庫連線並且執行指令


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    • 已標示為解答 KKLEO 2012年5月10日 上午 07:11
    2012年5月7日 上午 03:41
  • 您好,

    看您的程式,感覺您只需要SqlCommand去執行它就可以了!

    SqlCommand objCmd = new SqlCommand(query, SqlConnection);
    objCmd.ExecuteNonQuery();

    HOW TO:使用 ADO.NET 和 Visual Basic .NET 與資料庫連線並且執行指令


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    謝謝 請問有沒有 C#版本? 我看到 vb 但寫到一半 debug 顯示錯誤
    2012年5月7日 上午 06:36

  • HOW TO:使用 ADO.NET 和 Visual Basic .NET 與資料庫連線並且執行指令


    謝謝 請問有沒有 C#版本? 我看到 vb 但寫到一半 debug 顯示錯誤

    我的簽名檔有VB轉C#線上轉換網頁,您拿去試試看吧

    http://www.developerfusion.com/tools/convert/vb-to-csharp/

     


    2012年5月7日 上午 07:02
  • 我找到一個 用sql command來連接的, 但我並不會 ado.net...

    private void addButton_Click(object sender, EventArgs e)
    {
        SqlConnection connection = new SqlConnection();
        SqlCommand command = new SqlCommand();
        SqlDataAdapter adapter = new SqlDataAdapter();
        SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
        DataSet dataset = new DataSet();
     
        connection.ConnectionString = @"Data Source=.\SQLEXPRESS;" +
            "Initial Catalog=University;Integrated Security=SSPI";
        command.Connection = connection;
        command.CommandText = "SELECT * FROM Students";
        adapter.SelectCommand = command;
        adapter.Fill(dataset, "Students");
     
        DataRow row = dataset.Tables["Students"].NewRow();
        row["FirstName"] = firstNameTextBox.Text;         
        row["LastName"] = lastNameTextBox.Text;           
        row["Gender"] = genderTextBox.Text;               
        row["Age"] = Int32.Parse(ageTextBox.Text);        
        row["Address"] = addressTextBox.Text;             
     
        dataset.Tables["Students"].Rows.Add(row);
     
        try
        {
            int result = adapter.Update(dataset, "Students");
         
            if (result > 0)
                MessageBox.Show("Success!");           
            else
                MessageBox.Show("Failed!");  
        }
        catch (SqlException ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

    2012年5月7日 上午 09:38
  • 我是用textbox的, console line 怎麼換成 textbox??
    2012年5月7日 上午 09:44