通过单击按钮将数据从WPF中的文本框插入到SQL表中

时间:2014-08-09 05:01:32

标签: c# sql sql-server wpf

我有一个带多个窗口的WPF应用程序。我的一个窗口包含一个名为startText的TextBox。我还有一个名为SubmitButton的按钮。我已经创建了一个SQL数据库并通过向导,它通过app.config连接了我的应用程序。我想将输入到文本框中的文本转换为变量,并将其插入到我的一个数据库表的新行中。数据库只有一列名为Story,数据库名称也是Story([故事]。[dbo]。[故事])。我是新的c#,并且不确定INSERT语句在哪里进行。 这是我的App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="StoryTest.Properties.Settings.StoryConnectionString"
            connectionString="Data Source=STORY\STORY;Initial Catalog=Story;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

这是我的WPF应用配置:

 public partial class StartAStory : Window
    {



private  object Story;public StartAStory()

        {

            InitializeComponent();
            SubmitButton.Click += SubmitButton_Click;
            startText.Copy();

        }

        void SubmitButton_Click(object sender, RoutedEventArgs e)
        {
            //throw new NotImplementedException();
            SqlConnection Conn = new SqlConnection();
            Conn.Open();

        }
        private void SetToClipBoard(object text)
        {
            Clipboard.SetDataObject(text);
        }
        private void PasteData()
        {
            IDataObject ClipData = Clipboard.GetDataObject();

            if (ClipData.GetDataPresent(DataFormats.Text))
            {
                string s = Clipboard.GetData(DataFormats.Text).ToString();

            }
        }

    }
}

我知道我在这里遗漏了一些东西,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

对于C#&#39;的新手来说,有很多东西。开发人员在这里解决。

所以在我看来,就像你背后的代码一样,与你的窗口相关的.cs文件。在这里,您可以为按钮创建一个事件处理程序,将所有这些保存到数据库中,但首先需要从文本框中获取值。

在你的xaml中,确保你的文本框有一个名字。我将假设它被称为myTextbox。

在您的代码中,您应该能够使用this.myTextbox访问文本框控件。要获取输入值,请输入this.myTextbox.Text。

使用文本值,您现在要将其插入数据库。

首选方法是创建数据库的实体框架模型,为您提供一个完整的对象模型。相反,您希望通过SQL直接与db对话。在这种情况下,使用参数查找SqlCommand,以保护自己免受SQL注入。 example here

一旦你接受了这个术语,一定要看实体框架,并通过实现Viewmodel来构建你的WPF,因为我们倾向于避免代码隐藏,除非它纯粹是为了视觉效果。

希望有所帮助。