请帮我解决以下问题:
我正在使用SQL database server 2008
,其中有一个包含列的表格,如附图所示。
我想检索 ToolTip 列并在Controls:之后提取字符串:并将 type=value 字符串分开并单独列出ListBox
。
然后我想遍历每一行获取列表并将该列表与另一组类似列表进行比较,并检查它们是否具有相同的字符串列表。我没有尝试过任何代码,因为我一开始不知道如何开始。任何帮助将不胜感激。谢谢你。
请帮我解决以下问题:
我正在使用SQL database server 2008
,其中有一个包含列的表格,如附图所示。
我想检索 ToolTip 列并在Controls:之后提取字符串:并将 type=value 字符串分开并单独列出ListBox
。
然后我想遍历每一行获取列表并将该列表与另一组类似列表进行比较,并检查它们是否具有相同的字符串列表。我没有尝试过任何代码,因为我一开始不知道如何开始。任何帮助将不胜感激。谢谢你。
如果你有就更好了
Profile_Controls表
Profile_Name Controls_Key Controls_Value
-----------------------------------------------------
Lamp_Profile1 ON_OFF ON
Lamp_Profile1 BRIGHTNESS NONE
Fan_Profile1 ON_OFF ON
Fan_Profile1 SPEED NONE
.....
然后你可以选择
Select Controls_Key+'='+Controls_Value AS Settings From Profile_Controls Where Profile_Name = 'Fan_Profile1'
Results
-----------------
Settings
---------------------
ON_OFF=ON
SPEED=ON
这为您提供了更大的灵活性,因为您可以过滤、JOIN、COMPARE 和使用其他内置 SQL 功能
如果您仍然想像拥有它一样维护您的表结构
string[] mysplit = Tool_Tip.Split(s.Split(new string[]{"Controls:"}, StringSplitOptions.RemoveEmptyEntries);
string controls = mysplit[1].Substring(0); //ON_OFF=On;BRIGHTNESS=NONE
string[] eachSettings = controls.Split(';');
//eachSettings[0] = ON_OFF=ON
//eachSettings[1] = BRIGHTNESS=NONE
更新
public System.Data.DataTable GetProfileSettings(string profilename)
{
string sql = "Select Controls_Key+'='+Controls_Value AS Settings From Profile_Controls Where Profile_Name = '"+profilename+"'";
//write ADO.Net code here to get settings into DataTable
//DataTable dt = blah blah blah;
return dt;
}
在您的页面中
protected void SomeEvent_Handler(object sender, EventArgs e)
{
myListBox2.DataSource = GetProfileSettings("FanProfile1");
myListBox2.DataTextField = "Settings";
myListBox2.DataBind();
}
您可以使用此链接作为将项目添加到列表框的参考如何将 SQL 中的逗号分隔值分别检索到列表框
String.Split和更多关于SqlConnection和 SqlCommand的阅读
我们如何触发这样的查询
select tooltip from FooTable where Profile_Type='Foo_Profile_Type' and Profile_Name = 'Foo_Profile_Name'
并得到
"Type = LAMP;Profile = Lamp_Profile1;Controls:ON_OFF = ON;BRIGHTNESS = NONE;"
然后
string str = returnedstring.Split(new string[]{"Controls:"})[2];
会给你
"Controls:ON_OFF = ON"