注意:请参阅下面的更新以更改答案
我假设您想要的是将这些信息作为列中的纯文本的表格。
基本表定义
CREATE TABLE WhoIsData
(
Id INT PRIMARY KEY IDENTITY(1,1),
WhoIsData NVARCHAR(MAX)
)
我不知道是什么st
(这是您发送到服务的数据,如果您也想存储它,它可能在您的表中很有用)。
C# 代码(大致 - 我没有测试过)
string st = TextBox1.Text;
wservices.whois myservices = new wservices.whois();
string textData = myservices.GetWhoIS(st);
TextBox2.Text = textData;
using(SqlConnection conn = new SqlConnection(connectionString));
{
SqlCommand cmd = new SqlCommand("INSERT INTO WhoIsData(WhoIsData) VALUES(@text);");
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@text", textData);
conn.Open();
cmd.ExecuteNonQuery();
}
我会在现实生活中将 SQL 调用与您的用户界面类分开。但是为了这个例子,我把它们放在一起。另外,我还没有重命名您的文本框,尽管它们TextBox1
的TextBox2
名字真的很糟糕。
更新
好的-您想将内容存储在文本文件中,但我假设您想在数据库中存储指向文本文件的链接(您不是很具体)
表定义:
CREATE TABLE WhoIsData
(
Id INT PRIMARY KEY IDENTITY(1,1),
DomainName NVARCHAR(256),
WhoIsFile NVARCHAR(256)
)
C# 代码:
string st = TextBox1.Text;
wservices.whois myservices = new wservices.whois();
string textData = myservices.GetWhoIS(st);
TextBox2.Text = textData;
string fileName = Guid.NewGuid().ToString();
using(var file = File.OpenWrite(fileName))
{
file.Write(textData);
}
using(SqlConnection conn = new SqlConnection(connectionString));
{
SqlCommand cmd = new SqlCommand("INSERT INTO WhoIsData(DomainName, WhoIsFile) VALUES(@domainName, @fileName);");
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@fileName", fileName);
cmd.Parameters.AddWithValue("@domainName", domainName);
conn.Open();
cmd.ExecuteNonQuery();
}
同样,我没有对此进行测试,但这大致是您想要做的。此外,您需要提供一种生成文件名的机制,我刚刚使用了一个 guid,因为它几乎可以保证唯一性。